/* Generated by vala-dbus-binding-tool 1.0-aa2fb. Do not modify! */
/* Generated with: vala-dbus-binding-tool --api-path=./org.gnome.Shell.xml --directory=./ --strip-namespace=org --rename-namespace=gnome:Gnome --no-synced */
using GLib;

namespace Gnome {

	[DBus (name = "org.gnome.Shell", timeout = 120000)]
	public interface Shell : GLib.Object {

		[DBus (name = "Eval")]
		public abstract void eval(string script, out bool success, out string result_) throws DBusError, IOError;

		[DBus (name = "FocusSearch")]
		public abstract void focus_search() throws DBusError, IOError;

		[DBus (name = "ShowOSD")]
		public abstract void show_o_s_d(GLib.HashTable<string, GLib.Variant> params) throws DBusError, IOError;

		[DBus (name = "ShowMonitorLabels")]
		public abstract void show_monitor_labels(GLib.HashTable<string, GLib.Variant> params) throws DBusError, IOError;

		[DBus (name = "HideMonitorLabels")]
		public abstract void hide_monitor_labels() throws DBusError, IOError;

		[DBus (name = "FocusApp")]
		public abstract void focus_app(string id) throws DBusError, IOError;

		[DBus (name = "ShowApplications")]
		public abstract void show_applications() throws DBusError, IOError;

		[DBus (name = "GrabAccelerator")]
		public abstract uint grab_accelerator(string accelerator, uint modeFlags, uint grabFlags) throws DBusError, IOError;

		[DBus (name = "GrabAccelerators")]
		public abstract uint[] grab_accelerators(ShellAcceleratorStruct[] accelerators) throws DBusError, IOError;

		[DBus (name = "UngrabAccelerator")]
		public abstract bool ungrab_accelerator(uint action) throws DBusError, IOError;

		[DBus (name = "UngrabAccelerators")]
		public abstract bool ungrab_accelerators(uint[] action) throws DBusError, IOError;

		[DBus (name = "Mode")]
		public abstract string mode { owned get; }

		[DBus (name = "OverviewActive")]
		public abstract bool overview_active {  get; set; }

		[DBus (name = "ShellVersion")]
		public abstract string shell_version { owned get; }
	}

	public struct ShellAcceleratorStruct {
		public string attr1;
		public uint attr2;
		public uint attr3;
	}

	[DBus (name = "org.gnome.Shell.Extensions", timeout = 120000)]
	public interface ShellExtensions : GLib.Object {

		[DBus (name = "ListExtensions")]
		public abstract GLib.HashTable<string, GLib.HashTable<string, GLib.Variant>> list_extensions() throws DBusError, IOError;

		[DBus (name = "GetExtensionInfo")]
		public abstract GLib.HashTable<string, GLib.Variant> get_extension_info(string uuid) throws DBusError, IOError;

		[DBus (name = "GetExtensionErrors")]
		public abstract string[] get_extension_errors(string uuid) throws DBusError, IOError;

		[DBus (name = "InstallRemoteExtension")]
		public abstract string install_remote_extension(string uuid) throws DBusError, IOError;

		[DBus (name = "UninstallExtension")]
		public abstract bool uninstall_extension(string uuid) throws DBusError, IOError;

		[DBus (name = "ReloadExtension")]
		public abstract void reload_extension(string uuid) throws DBusError, IOError;

		[DBus (name = "EnableExtension")]
		public abstract bool enable_extension(string uuid) throws DBusError, IOError;

		[DBus (name = "DisableExtension")]
		public abstract bool disable_extension(string uuid) throws DBusError, IOError;

		[DBus (name = "LaunchExtensionPrefs")]
		public abstract void launch_extension_prefs(string uuid) throws DBusError, IOError;

		[DBus (name = "OpenExtensionPrefs")]
		public abstract void open_extension_prefs(string uuid, string parent_window, GLib.HashTable<string, GLib.Variant> options) throws DBusError, IOError;

		[DBus (name = "CheckForUpdates")]
		public abstract void check_for_updates() throws DBusError, IOError;

		[DBus (name = "ExtensionStateChanged")]
		public signal void extension_state_changed(string uuid, GLib.HashTable<string, GLib.Variant> state);

		[DBus (name = "ExtensionStatusChanged")]
		public signal void extension_status_changed(string uuid, int state, string error);

		[DBus (name = "ShellVersion")]
		public abstract string shell_version { owned get; }

		[DBus (name = "UserExtensionsEnabled")]
		public abstract bool user_extensions_enabled {  get; set; }
	}
}
