// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace Atk {

	using System;
	using System.Runtime.InteropServices;

#region Autogenerated code
	public partial class Global {

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate uint d_atk_add_focus_tracker(AtkSharp.EventListenerNative focus_tracker);
		static d_atk_add_focus_tracker atk_add_focus_tracker = FuncLoader.LoadFunction<d_atk_add_focus_tracker>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_add_focus_tracker"));

		[Obsolete]
		public static uint AddFocusTracker(Atk.EventListener focus_tracker) {
			AtkSharp.EventListenerWrapper focus_tracker_wrapper = new AtkSharp.EventListenerWrapper (focus_tracker);
			uint raw_ret = atk_add_focus_tracker(focus_tracker_wrapper.NativeDelegate);
			uint ret = raw_ret;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate uint d_atk_add_key_event_listener(AtkSharp.KeySnoopFuncNative listener, IntPtr data);
		static d_atk_add_key_event_listener atk_add_key_event_listener = FuncLoader.LoadFunction<d_atk_add_key_event_listener>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_add_key_event_listener"));

		public static uint AddKeyEventListener(Atk.KeySnoopFunc listener) {
			AtkSharp.KeySnoopFuncWrapper listener_wrapper = new AtkSharp.KeySnoopFuncWrapper (listener);
			uint raw_ret = atk_add_key_event_listener(listener_wrapper.NativeDelegate, IntPtr.Zero);
			uint ret = raw_ret;
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate uint d_atk_get_binary_age();
		static d_atk_get_binary_age atk_get_binary_age = FuncLoader.LoadFunction<d_atk_get_binary_age>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_binary_age"));

		public static uint BinaryAge { 
			get {
				uint raw_ret = atk_get_binary_age();
				uint ret = raw_ret;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_get_default_registry();
		static d_atk_get_default_registry atk_get_default_registry = FuncLoader.LoadFunction<d_atk_get_default_registry>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_default_registry"));

		public static Atk.Registry DefaultRegistry { 
			get {
				IntPtr raw_ret = atk_get_default_registry();
				Atk.Registry ret = GLib.Object.GetObject(raw_ret) as Atk.Registry;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_get_focus_object();
		static d_atk_get_focus_object atk_get_focus_object = FuncLoader.LoadFunction<d_atk_get_focus_object>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_focus_object"));

		public static Atk.Object FocusObject { 
			get {
				IntPtr raw_ret = atk_get_focus_object();
				Atk.Object ret = GLib.Object.GetObject(raw_ret) as Atk.Object;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate uint d_atk_get_interface_age();
		static d_atk_get_interface_age atk_get_interface_age = FuncLoader.LoadFunction<d_atk_get_interface_age>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_interface_age"));

		public static uint InterfaceAge { 
			get {
				uint raw_ret = atk_get_interface_age();
				uint ret = raw_ret;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate uint d_atk_get_major_version();
		static d_atk_get_major_version atk_get_major_version = FuncLoader.LoadFunction<d_atk_get_major_version>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_major_version"));

		public static uint MajorVersion { 
			get {
				uint raw_ret = atk_get_major_version();
				uint ret = raw_ret;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate uint d_atk_get_micro_version();
		static d_atk_get_micro_version atk_get_micro_version = FuncLoader.LoadFunction<d_atk_get_micro_version>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_micro_version"));

		public static uint MicroVersion { 
			get {
				uint raw_ret = atk_get_micro_version();
				uint ret = raw_ret;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate uint d_atk_get_minor_version();
		static d_atk_get_minor_version atk_get_minor_version = FuncLoader.LoadFunction<d_atk_get_minor_version>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_minor_version"));

		public static uint MinorVersion { 
			get {
				uint raw_ret = atk_get_minor_version();
				uint ret = raw_ret;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_get_root();
		static d_atk_get_root atk_get_root = FuncLoader.LoadFunction<d_atk_get_root>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_root"));

		public static Atk.Object Root { 
			get {
				IntPtr raw_ret = atk_get_root();
				Atk.Object ret = GLib.Object.GetObject(raw_ret) as Atk.Object;
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_get_toolkit_name();
		static d_atk_get_toolkit_name atk_get_toolkit_name = FuncLoader.LoadFunction<d_atk_get_toolkit_name>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_toolkit_name"));

		public static string ToolkitName { 
			get {
				IntPtr raw_ret = atk_get_toolkit_name();
				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_get_toolkit_version();
		static d_atk_get_toolkit_version atk_get_toolkit_version = FuncLoader.LoadFunction<d_atk_get_toolkit_version>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_toolkit_version"));

		public static string ToolkitVersion { 
			get {
				IntPtr raw_ret = atk_get_toolkit_version();
				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_get_version();
		static d_atk_get_version atk_get_version = FuncLoader.LoadFunction<d_atk_get_version>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_get_version"));

		public static string Version { 
			get {
				IntPtr raw_ret = atk_get_version();
				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
				return ret;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_atk_remove_focus_tracker(uint tracker_id);
		static d_atk_remove_focus_tracker atk_remove_focus_tracker = FuncLoader.LoadFunction<d_atk_remove_focus_tracker>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_remove_focus_tracker"));

		[Obsolete]
		public static void RemoveFocusTracker(uint tracker_id) {
			atk_remove_focus_tracker(tracker_id);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_atk_remove_global_event_listener(uint listener_id);
		static d_atk_remove_global_event_listener atk_remove_global_event_listener = FuncLoader.LoadFunction<d_atk_remove_global_event_listener>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_remove_global_event_listener"));

		public static void RemoveGlobalEventListener(uint listener_id) {
			atk_remove_global_event_listener(listener_id);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void d_atk_remove_key_event_listener(uint listener_id);
		static d_atk_remove_key_event_listener atk_remove_key_event_listener = FuncLoader.LoadFunction<d_atk_remove_key_event_listener>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_remove_key_event_listener"));

		public static void RemoveKeyEventListener(uint listener_id) {
			atk_remove_key_event_listener(listener_id);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_atk_role_for_name(IntPtr name);
		static d_atk_role_for_name atk_role_for_name = FuncLoader.LoadFunction<d_atk_role_for_name>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_role_for_name"));

		public static Atk.Role RoleForName(string name) {
			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
			int raw_ret = atk_role_for_name(native_name);
			Atk.Role ret = (Atk.Role) raw_ret;
			GLib.Marshaller.Free (native_name);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_role_get_localized_name(int role);
		static d_atk_role_get_localized_name atk_role_get_localized_name = FuncLoader.LoadFunction<d_atk_role_get_localized_name>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_role_get_localized_name"));

		public static string RoleGetLocalizedName(Atk.Role role) {
			IntPtr raw_ret = atk_role_get_localized_name((int) role);
			string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr d_atk_role_get_name(int role);
		static d_atk_role_get_name atk_role_get_name = FuncLoader.LoadFunction<d_atk_role_get_name>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_role_get_name"));

		public static string RoleGetName(Atk.Role role) {
			IntPtr raw_ret = atk_role_get_name((int) role);
			string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
			return ret;
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate int d_atk_role_register(IntPtr name);
		static d_atk_role_register atk_role_register = FuncLoader.LoadFunction<d_atk_role_register>(FuncLoader.GetProcAddress(GLibrary.Load(Library.Atk), "atk_role_register"));

		[Obsolete]
		public static Atk.Role RoleRegister(string name) {
			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
			int raw_ret = atk_role_register(native_name);
			Atk.Role ret = (Atk.Role) raw_ret;
			GLib.Marshaller.Free (native_name);
			return ret;
		}

#endregion
	}
}
