[vala] gio vapi: GApplication, Menus, ActionGroup updates



commit 61c9405dd2e23cb47a4e2d146007afac7d4c2149
Author: Ryan Lortie <desrt desrt ca>
Date:   Mon Dec 19 23:27:55 2011 -0500

    gio vapi: GApplication, Menus, ActionGroup updates

 vapi/gio-2.0.vapi                      |  139 +++++++-
 vapi/packages/gio-2.0/gio-2.0.gi       |  662 +++++++++++++++++++++++++++++++-
 vapi/packages/gio-2.0/gio-2.0.metadata |   16 +
 3 files changed, 798 insertions(+), 19 deletions(-)
---
diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi
index 601b3c5..1a523cb 100644
--- a/vapi/gio-2.0.vapi
+++ b/vapi/gio-2.0.vapi
@@ -66,7 +66,7 @@ namespace GLib {
 		public virtual void launch_failed (string startup_notify_id);
 	}
 	[CCode (cheader_filename = "gio/gio.h", cname = "GApplication")]
-	public class Application : GLib.Object, GLib.ActionGroup {
+	public class Application : GLib.Object, GLib.ActionGroup, GLib.ActionMap {
 		[CCode (has_construct_function = false)]
 		public Application (string application_id, GLib.ApplicationFlags flags);
 		[NoWrapper]
@@ -108,6 +108,7 @@ namespace GLib {
 		public virtual signal int command_line (GLib.ApplicationCommandLine command_line);
 		[HasEmitter]
 		public virtual signal void open (GLib.File[] files, string hint);
+		public virtual signal void shutdown ();
 		public virtual signal void startup ();
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
@@ -225,6 +226,12 @@ namespace GLib {
 	[Compact]
 	public class CredentialsClass {
 	}
+	[CCode (cheader_filename = "gio/gio.h")]
+	public class DBusActionGroup : GLib.Object, GLib.ActionGroup, GLib.RemoteActionGroup {
+		[CCode (has_construct_function = false)]
+		protected DBusActionGroup ();
+		public static GLib.DBusActionGroup @get (GLib.DBusConnection connection, string bus_name, string object_path);
+	}
 	[CCode (cheader_filename = "gio/gio.h", ref_function = "g_dbus_annotation_info_ref", type_id = "g_dbus_annotation_info_get_type ()", unref_function = "g_dbus_annotation_info_unref")]
 	[Compact]
 	public class DBusAnnotationInfo {
@@ -263,6 +270,8 @@ namespace GLib {
 		public async bool close (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool close_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool emit_signal (string? destination_bus_name, string object_path, string interface_name, string signal_name, GLib.Variant parameters) throws GLib.Error;
+		public uint export_action_group (string object_path, GLib.ActionGroup action_group) throws GLib.Error;
+		public uint export_menu_model (string object_path, GLib.MenuModel menu) throws GLib.Error;
 		public async bool flush (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool flush_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[CCode (has_construct_function = false, type = "void")]
@@ -290,6 +299,8 @@ namespace GLib {
 		public void start_message_processing ();
 		[CCode (has_construct_function = false)]
 		public DBusConnection.sync (GLib.IOStream stream, string guid, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public void unexport_action_group (uint export_id);
+		public void unexport_menu_model (uint export_id);
 		public bool unregister_object (uint registration_id);
 		public bool unregister_subtree (uint registration_id);
 		public string address { construct; }
@@ -355,6 +366,12 @@ namespace GLib {
 		public weak GLib.DBusInterfaceSetPropertyFunc set_property;
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
+	public class DBusMenuModel : GLib.MenuModel {
+		[CCode (has_construct_function = false)]
+		protected DBusMenuModel ();
+		public static GLib.DBusMenuModel @get (GLib.DBusConnection connection, string bus_name, string object_path);
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
 	public class DBusMessage : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public DBusMessage ();
@@ -1086,6 +1103,85 @@ namespace GLib {
 		public ulong size { get; construct; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
+	public class Menu : GLib.MenuModel {
+		[CCode (has_construct_function = false)]
+		public Menu ();
+		public void append (string label, string detailed_action);
+		public void append_item (GLib.MenuItem item);
+		public void append_section (string label, GLib.MenuModel section);
+		public void append_submenu (string label, GLib.MenuModel submenu);
+		public void freeze ();
+		public void insert (int position, string label, string detailed_action);
+		public void insert_item (int position, GLib.MenuItem item);
+		public void insert_section (int position, string label, GLib.MenuModel section);
+		public void insert_submenu (int position, string label, GLib.MenuModel submenu);
+		public static unowned GLib.HashTable markup_parser_end (GLib.MarkupParseContext context);
+		public static unowned GLib.Menu markup_parser_end_menu (GLib.MarkupParseContext context);
+		public static void markup_parser_start (GLib.MarkupParseContext context, string domain, GLib.HashTable objects);
+		public static void markup_parser_start_menu (GLib.MarkupParseContext context, string domain, GLib.HashTable objects);
+		public static void markup_print_stderr (GLib.MenuModel model);
+		public static unowned GLib.StringBuilder markup_print_string (GLib.StringBuilder str, GLib.MenuModel model, int indent, int tabstop);
+		public void prepend (string label, string detailed_action);
+		public void prepend_item (GLib.MenuItem item);
+		public void prepend_section (string label, GLib.MenuModel section);
+		public void prepend_submenu (string label, GLib.MenuModel submenu);
+		public void remove (int position);
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
+	public class MenuAttributeIter : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected MenuAttributeIter ();
+		public unowned string get_name ();
+		public virtual bool get_next (string out_name, out unowned GLib.Variant value);
+		public GLib.Variant get_value ();
+		public bool next ();
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
+	public class MenuItem : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public MenuItem (string label, string detailed_action);
+		[CCode (has_construct_function = false)]
+		public MenuItem.section (string label, GLib.MenuModel section);
+		public void set_action_and_target (string action, string format_string);
+		public void set_action_and_target_value (string action, GLib.Variant target_value);
+		public void set_attribute (string attribute, string format_string);
+		public void set_attribute_value (string attribute, GLib.Variant value);
+		public void set_detailed_action (string detailed_action);
+		public void set_label (string label);
+		public void set_link (string link, GLib.MenuModel model);
+		public void set_section (GLib.MenuModel section);
+		public void set_submenu (GLib.MenuModel submenu);
+		[CCode (has_construct_function = false)]
+		public MenuItem.submenu (string label, GLib.MenuModel submenu);
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
+	public class MenuLinkIter : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected MenuLinkIter ();
+		public unowned string get_name ();
+		public virtual bool get_next (string out_link, out unowned GLib.MenuModel value);
+		public GLib.MenuModel get_value ();
+		public bool next ();
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
+	public class MenuModel : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected MenuModel ();
+		public bool get_item_attribute (int item_index, string attribute, string format_string);
+		public virtual GLib.Variant get_item_attribute_value (int item_index, string attribute, GLib.VariantType expected_type);
+		[NoWrapper]
+		public virtual void get_item_attributes (int item_index, GLib.HashTable attributes);
+		public virtual GLib.MenuModel get_item_link (int item_index, string link);
+		[NoWrapper]
+		public virtual void get_item_links (int item_index, GLib.HashTable links);
+		public virtual int get_n_items ();
+		public virtual bool is_mutable ();
+		public virtual GLib.MenuAttributeIter iterate_item_attributes (int item_index);
+		public virtual GLib.MenuLinkIter iterate_item_links (int item_index);
+		[HasEmitter]
+		public virtual signal void items_changed (int p0, int p1, int p2);
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
 	public class MountOperation : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public MountOperation ();
@@ -1312,20 +1408,20 @@ namespace GLib {
 		[CCode (has_construct_function = false)]
 		public SimpleAction.stateful (string name, GLib.VariantType parameter_type, GLib.Variant state);
 		[NoAccessorMethod]
-		public bool enabled { get; }
+		public bool enabled { get; construct; }
 		[NoAccessorMethod]
-		public string name { owned get; }
+		public string name { owned get; construct; }
 		[NoAccessorMethod]
-		public GLib.VariantType parameter_type { owned get; }
+		public GLib.VariantType parameter_type { owned get; construct; }
 		[NoAccessorMethod]
-		public GLib.Variant state { owned get; }
+		public GLib.Variant state { owned get; construct; }
 		[NoAccessorMethod]
 		public GLib.VariantType state_type { owned get; }
 		public virtual signal void activate (GLib.Variant p0);
 		public virtual signal void change_state (GLib.Variant p0);
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
-	public class SimpleActionGroup : GLib.Object, GLib.ActionGroup {
+	public class SimpleActionGroup : GLib.Object, GLib.ActionGroup, GLib.ActionMap {
 		[CCode (has_construct_function = false)]
 		public SimpleActionGroup ();
 		public void add_entries (GLib.ActionEntry[] entries);
@@ -1782,10 +1878,10 @@ namespace GLib {
 		public abstract unowned GLib.Variant get_state ();
 		public abstract unowned GLib.Variant get_state_hint ();
 		public abstract unowned GLib.VariantType get_state_type ();
-		public bool enabled { get; }
-		public string name { get; }
-		public GLib.VariantType parameter_type { get; }
-		public GLib.Variant state { get; }
+		public bool enabled { get; construct; }
+		public string name { get; construct; }
+		public GLib.VariantType parameter_type { get; construct; }
+		public GLib.Variant state { get; construct; }
 		public GLib.VariantType state_type { get; }
 	}
 	[CCode (cheader_filename = "gio/gio.h", type_cname = "GActionGroupInterface")]
@@ -1800,6 +1896,7 @@ namespace GLib {
 		public abstract bool has_action (string action_name);
 		[CCode (array_length = false, array_null_terminated = true)]
 		public abstract string[] list_actions ();
+		public virtual bool query_action (string action_name, bool enabled, out unowned GLib.VariantType parameter_type, out unowned GLib.VariantType state_type, out GLib.Variant state_hint, out GLib.Variant state);
 		[HasEmitter]
 		public signal void action_added (string action_name);
 		[HasEmitter]
@@ -1810,6 +1907,13 @@ namespace GLib {
 		public signal void action_state_changed (string action_name, GLib.Variant state);
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
+	public interface ActionMap : GLib.ActionGroup, GLib.Object {
+		public abstract void add_action (GLib.Action action);
+		public void add_action_entries (GLib.ActionEntry[] entries);
+		public abstract GLib.Action lookup_action (string action_name);
+		public abstract void remove_action (string action_name);
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
 	public interface AppInfo : GLib.Object {
 		public abstract bool add_supports_type (string content_type) throws GLib.Error;
 		public abstract bool can_delete ();
@@ -2087,6 +2191,11 @@ namespace GLib {
 		public abstract async unowned string lookup_async (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
+	public interface RemoteActionGroup : GLib.ActionGroup, GLib.Object {
+		public abstract void activate_action_full (string action_name, GLib.Variant parameter, GLib.Variant platform_data);
+		public abstract void change_action_state_full (string action_name, GLib.Variant value, GLib.Variant platform_data);
+	}
+	[CCode (cheader_filename = "gio/gio.h")]
 	public interface Seekable : GLib.Object {
 		public abstract bool can_seek ();
 		public abstract bool can_truncate ();
@@ -2906,6 +3015,16 @@ namespace GLib {
 	[CCode (cheader_filename = "gio/gio.h")]
 	public const string FILE_ATTRIBUTE_UNIX_UID;
 	[CCode (cheader_filename = "gio/gio.h")]
+	public const string MENU_ATTRIBUTE_ACTION;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public const string MENU_ATTRIBUTE_LABEL;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public const string MENU_ATTRIBUTE_TARGET;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public const string MENU_LINK_SECTION;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public const string MENU_LINK_SUBMENU;
+	[CCode (cheader_filename = "gio/gio.h")]
 	public const string NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME;
 	[CCode (cheader_filename = "gio/gio.h")]
 	public const string PROXY_EXTENSION_POINT_NAME;
diff --git a/vapi/packages/gio-2.0/gio-2.0.gi b/vapi/packages/gio-2.0/gio-2.0.gi
index fca25e4..a28a693 100644
--- a/vapi/packages/gio-2.0/gio-2.0.gi
+++ b/vapi/packages/gio-2.0/gio-2.0.gi
@@ -1701,6 +1701,7 @@
 		<object name="GApplication" parent="GObject" type-name="GApplication" get-type="g_application_get_type">
 			<implements>
 				<interface name="GActionGroup"/>
+				<interface name="GActionMap"/>
 			</implements>
 			<method name="activate" symbol="g_application_activate">
 				<return-type type="void"/>
@@ -1844,7 +1845,13 @@
 					<parameter name="hint" type="char*"/>
 				</parameters>
 			</signal>
-			<signal name="startup" when="LAST">
+			<signal name="shutdown" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="application" type="GApplication*"/>
+				</parameters>
+			</signal>
+			<signal name="startup" when="FIRST">
 				<return-type type="void"/>
 				<parameters>
 					<parameter name="application" type="GApplication*"/>
@@ -2343,6 +2350,20 @@
 				</parameters>
 			</method>
 		</object>
+		<object name="GDBusActionGroup" parent="GObject" type-name="GDBusActionGroup" get-type="g_dbus_action_group_get_type">
+			<implements>
+				<interface name="GActionGroup"/>
+				<interface name="GRemoteActionGroup"/>
+			</implements>
+			<method name="get" symbol="g_dbus_action_group_get">
+				<return-type type="GDBusActionGroup*"/>
+				<parameters>
+					<parameter name="connection" type="GDBusConnection*"/>
+					<parameter name="bus_name" type="gchar*"/>
+					<parameter name="object_path" type="gchar*"/>
+				</parameters>
+			</method>
+		</object>
 		<object name="GDBusAuthObserver" parent="GObject" type-name="GDBusAuthObserver" get-type="g_dbus_auth_observer_get_type">
 			<method name="authorize_authenticated_peer" symbol="g_dbus_auth_observer_authorize_authenticated_peer">
 				<return-type type="gboolean"/>
@@ -2501,6 +2522,24 @@
 					<parameter name="error" type="GError**"/>
 				</parameters>
 			</method>
+			<method name="export_action_group" symbol="g_dbus_connection_export_action_group">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="connection" type="GDBusConnection*"/>
+					<parameter name="object_path" type="gchar*"/>
+					<parameter name="action_group" type="GActionGroup*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</method>
+			<method name="export_menu_model" symbol="g_dbus_connection_export_menu_model">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="connection" type="GDBusConnection*"/>
+					<parameter name="object_path" type="gchar*"/>
+					<parameter name="menu" type="GMenuModel*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</method>
 			<method name="flush" symbol="g_dbus_connection_flush">
 				<return-type type="void"/>
 				<parameters>
@@ -2735,6 +2774,20 @@
 					<parameter name="connection" type="GDBusConnection*"/>
 				</parameters>
 			</method>
+			<method name="unexport_action_group" symbol="g_dbus_connection_unexport_action_group">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="connection" type="GDBusConnection*"/>
+					<parameter name="export_id" type="guint"/>
+				</parameters>
+			</method>
+			<method name="unexport_menu_model" symbol="g_dbus_connection_unexport_menu_model">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="connection" type="GDBusConnection*"/>
+					<parameter name="export_id" type="guint"/>
+				</parameters>
+			</method>
 			<method name="unregister_object" symbol="g_dbus_connection_unregister_object">
 				<return-type type="gboolean"/>
 				<parameters>
@@ -2868,6 +2921,16 @@
 				</parameters>
 			</vfunc>
 		</object>
+		<object name="GDBusMenuModel" parent="GMenuModel" type-name="GDBusMenuModel" get-type="g_dbus_menu_model_get_type">
+			<method name="get" symbol="g_dbus_menu_model_get">
+				<return-type type="GDBusMenuModel*"/>
+				<parameters>
+					<parameter name="connection" type="GDBusConnection*"/>
+					<parameter name="bus_name" type="gchar*"/>
+					<parameter name="object_path" type="gchar*"/>
+				</parameters>
+			</method>
+		</object>
 		<object name="GDBusMessage" parent="GObject" type-name="GDBusMessage" get-type="g_dbus_message_get_type">
 			<method name="bytes_needed" symbol="g_dbus_message_bytes_needed">
 				<return-type type="gssize"/>
@@ -5872,6 +5935,458 @@
 			<property name="realloc-function" type="gpointer" readable="1" writable="1" construct="0" construct-only="1"/>
 			<property name="size" type="gulong" readable="1" writable="1" construct="0" construct-only="1"/>
 		</object>
+		<object name="GMenu" parent="GMenuModel" type-name="GMenu" get-type="g_menu_get_type">
+			<method name="append" symbol="g_menu_append">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="detailed_action" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="append_item" symbol="g_menu_append_item">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="item" type="GMenuItem*"/>
+				</parameters>
+			</method>
+			<method name="append_section" symbol="g_menu_append_section">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="section" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="append_submenu" symbol="g_menu_append_submenu">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="submenu" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="freeze" symbol="g_menu_freeze">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+				</parameters>
+			</method>
+			<method name="insert" symbol="g_menu_insert">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="position" type="gint"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="detailed_action" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="insert_item" symbol="g_menu_insert_item">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="position" type="gint"/>
+					<parameter name="item" type="GMenuItem*"/>
+				</parameters>
+			</method>
+			<method name="insert_section" symbol="g_menu_insert_section">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="position" type="gint"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="section" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="insert_submenu" symbol="g_menu_insert_submenu">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="position" type="gint"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="submenu" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="markup_parser_end" symbol="g_menu_markup_parser_end">
+				<return-type type="GHashTable*"/>
+				<parameters>
+					<parameter name="context" type="GMarkupParseContext*"/>
+				</parameters>
+			</method>
+			<method name="markup_parser_end_menu" symbol="g_menu_markup_parser_end_menu">
+				<return-type type="GMenu*"/>
+				<parameters>
+					<parameter name="context" type="GMarkupParseContext*"/>
+				</parameters>
+			</method>
+			<method name="markup_parser_start" symbol="g_menu_markup_parser_start">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="context" type="GMarkupParseContext*"/>
+					<parameter name="domain" type="gchar*"/>
+					<parameter name="objects" type="GHashTable*"/>
+				</parameters>
+			</method>
+			<method name="markup_parser_start_menu" symbol="g_menu_markup_parser_start_menu">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="context" type="GMarkupParseContext*"/>
+					<parameter name="domain" type="gchar*"/>
+					<parameter name="objects" type="GHashTable*"/>
+				</parameters>
+			</method>
+			<method name="markup_print_stderr" symbol="g_menu_markup_print_stderr">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="markup_print_string" symbol="g_menu_markup_print_string">
+				<return-type type="GString*"/>
+				<parameters>
+					<parameter name="string" type="GString*"/>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="indent" type="gint"/>
+					<parameter name="tabstop" type="gint"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="g_menu_new">
+				<return-type type="GMenu*"/>
+			</constructor>
+			<method name="prepend" symbol="g_menu_prepend">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="detailed_action" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="prepend_item" symbol="g_menu_prepend_item">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="item" type="GMenuItem*"/>
+				</parameters>
+			</method>
+			<method name="prepend_section" symbol="g_menu_prepend_section">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="section" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="prepend_submenu" symbol="g_menu_prepend_submenu">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="submenu" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="remove" symbol="g_menu_remove">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu" type="GMenu*"/>
+					<parameter name="position" type="gint"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GMenuAttributeIter" parent="GObject" type-name="GMenuAttributeIter" get-type="g_menu_attribute_iter_get_type">
+			<method name="get_name" symbol="g_menu_attribute_iter_get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="iter" type="GMenuAttributeIter*"/>
+				</parameters>
+			</method>
+			<method name="get_next" symbol="g_menu_attribute_iter_get_next">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="iter" type="GMenuAttributeIter*"/>
+					<parameter name="out_name" type="gchar**"/>
+					<parameter name="value" type="GVariant**"/>
+				</parameters>
+			</method>
+			<method name="get_value" symbol="g_menu_attribute_iter_get_value">
+				<return-type type="GVariant*"/>
+				<parameters>
+					<parameter name="iter" type="GMenuAttributeIter*"/>
+				</parameters>
+			</method>
+			<method name="next" symbol="g_menu_attribute_iter_next">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="iter" type="GMenuAttributeIter*"/>
+				</parameters>
+			</method>
+			<vfunc name="get_next">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="iter" type="GMenuAttributeIter*"/>
+					<parameter name="out_type" type="gchar**"/>
+					<parameter name="value" type="GVariant**"/>
+				</parameters>
+			</vfunc>
+		</object>
+		<object name="GMenuItem" parent="GObject" type-name="GMenuItem" get-type="g_menu_item_get_type">
+			<constructor name="new" symbol="g_menu_item_new">
+				<return-type type="GMenuItem*"/>
+				<parameters>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="detailed_action" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_section" symbol="g_menu_item_new_section">
+				<return-type type="GMenuItem*"/>
+				<parameters>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="section" type="GMenuModel*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_submenu" symbol="g_menu_item_new_submenu">
+				<return-type type="GMenuItem*"/>
+				<parameters>
+					<parameter name="label" type="gchar*"/>
+					<parameter name="submenu" type="GMenuModel*"/>
+				</parameters>
+			</constructor>
+			<method name="set_action_and_target" symbol="g_menu_item_set_action_and_target">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="action" type="gchar*"/>
+					<parameter name="format_string" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_action_and_target_value" symbol="g_menu_item_set_action_and_target_value">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="action" type="gchar*"/>
+					<parameter name="target_value" type="GVariant*"/>
+				</parameters>
+			</method>
+			<method name="set_attribute" symbol="g_menu_item_set_attribute">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="attribute" type="gchar*"/>
+					<parameter name="format_string" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_attribute_value" symbol="g_menu_item_set_attribute_value">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="attribute" type="gchar*"/>
+					<parameter name="value" type="GVariant*"/>
+				</parameters>
+			</method>
+			<method name="set_detailed_action" symbol="g_menu_item_set_detailed_action">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="detailed_action" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_label" symbol="g_menu_item_set_label">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="label" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_link" symbol="g_menu_item_set_link">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="link" type="gchar*"/>
+					<parameter name="model" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="set_section" symbol="g_menu_item_set_section">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="section" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="set_submenu" symbol="g_menu_item_set_submenu">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="menu_item" type="GMenuItem*"/>
+					<parameter name="submenu" type="GMenuModel*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GMenuLinkIter" parent="GObject" type-name="GMenuLinkIter" get-type="g_menu_link_iter_get_type">
+			<method name="get_name" symbol="g_menu_link_iter_get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="iter" type="GMenuLinkIter*"/>
+				</parameters>
+			</method>
+			<method name="get_next" symbol="g_menu_link_iter_get_next">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="iter" type="GMenuLinkIter*"/>
+					<parameter name="out_link" type="gchar**"/>
+					<parameter name="value" type="GMenuModel**"/>
+				</parameters>
+			</method>
+			<method name="get_value" symbol="g_menu_link_iter_get_value">
+				<return-type type="GMenuModel*"/>
+				<parameters>
+					<parameter name="iter" type="GMenuLinkIter*"/>
+				</parameters>
+			</method>
+			<method name="next" symbol="g_menu_link_iter_next">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="iter" type="GMenuLinkIter*"/>
+				</parameters>
+			</method>
+			<vfunc name="get_next">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="iter" type="GMenuLinkIter*"/>
+					<parameter name="out_name" type="gchar**"/>
+					<parameter name="value" type="GMenuModel**"/>
+				</parameters>
+			</vfunc>
+		</object>
+		<object name="GMenuModel" parent="GObject" type-name="GMenuModel" get-type="g_menu_model_get_type">
+			<method name="get_item_attribute" symbol="g_menu_model_get_item_attribute">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+					<parameter name="attribute" type="gchar*"/>
+					<parameter name="format_string" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="get_item_attribute_value" symbol="g_menu_model_get_item_attribute_value">
+				<return-type type="GVariant*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+					<parameter name="attribute" type="gchar*"/>
+					<parameter name="expected_type" type="GVariantType*"/>
+				</parameters>
+			</method>
+			<method name="get_item_link" symbol="g_menu_model_get_item_link">
+				<return-type type="GMenuModel*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+					<parameter name="link" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="get_n_items" symbol="g_menu_model_get_n_items">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="is_mutable" symbol="g_menu_model_is_mutable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+				</parameters>
+			</method>
+			<method name="items_changed" symbol="g_menu_model_items_changed">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="position" type="gint"/>
+					<parameter name="removed" type="gint"/>
+					<parameter name="added" type="gint"/>
+				</parameters>
+			</method>
+			<method name="iterate_item_attributes" symbol="g_menu_model_iterate_item_attributes">
+				<return-type type="GMenuAttributeIter*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+				</parameters>
+			</method>
+			<method name="iterate_item_links" symbol="g_menu_model_iterate_item_links">
+				<return-type type="GMenuLinkIter*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+				</parameters>
+			</method>
+			<signal name="items-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="object" type="GMenuModel*"/>
+					<parameter name="p0" type="gint"/>
+					<parameter name="p1" type="gint"/>
+					<parameter name="p2" type="gint"/>
+				</parameters>
+			</signal>
+			<vfunc name="get_item_attribute_value">
+				<return-type type="GVariant*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+					<parameter name="attribute" type="gchar*"/>
+					<parameter name="expected_type" type="GVariantType*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_item_attributes">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+					<parameter name="attributes" type="GHashTable**"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_item_link">
+				<return-type type="GMenuModel*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+					<parameter name="link" type="gchar*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_item_links">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+					<parameter name="links" type="GHashTable**"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_n_items">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="is_mutable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="iterate_item_attributes">
+				<return-type type="GMenuAttributeIter*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="iterate_item_links">
+				<return-type type="GMenuLinkIter*"/>
+				<parameters>
+					<parameter name="model" type="GMenuModel*"/>
+					<parameter name="item_index" type="gint"/>
+				</parameters>
+			</vfunc>
+		</object>
 		<object name="GMountOperation" parent="GObject" type-name="GMountOperation" get-type="g_mount_operation_get_type">
 			<method name="get_anonymous" symbol="g_mount_operation_get_anonymous">
 				<return-type type="gboolean"/>
@@ -7147,10 +7662,10 @@
 					<parameter name="value" type="GVariant*"/>
 				</parameters>
 			</method>
-			<property name="enabled" type="gboolean" readable="1" writable="0" construct="0" construct-only="0"/>
-			<property name="name" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
-			<property name="parameter-type" type="GVariantType*" readable="1" writable="0" construct="0" construct-only="0"/>
-			<property name="state" type="GVariant" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="enabled" type="gboolean" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="name" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="parameter-type" type="GVariantType*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="state" type="GVariant" readable="1" writable="1" construct="0" construct-only="1"/>
 			<property name="state-type" type="GVariantType*" readable="1" writable="0" construct="0" construct-only="0"/>
 			<signal name="activate" when="LAST">
 				<return-type type="void"/>
@@ -7170,6 +7685,7 @@
 		<object name="GSimpleActionGroup" parent="GObject" type-name="GSimpleActionGroup" get-type="g_simple_action_group_get_type">
 			<implements>
 				<interface name="GActionGroup"/>
+				<interface name="GActionMap"/>
 			</implements>
 			<method name="add_entries" symbol="g_simple_action_group_add_entries">
 				<return-type type="void"/>
@@ -9453,10 +9969,10 @@
 					<parameter name="action" type="GAction*"/>
 				</parameters>
 			</method>
-			<property name="enabled" type="gboolean" readable="1" writable="0" construct="0" construct-only="0"/>
-			<property name="name" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
-			<property name="parameter-type" type="GVariantType*" readable="1" writable="0" construct="0" construct-only="0"/>
-			<property name="state" type="GVariant" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="enabled" type="gboolean" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="name" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="parameter-type" type="GVariantType*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="state" type="GVariant" readable="1" writable="1" construct="0" construct-only="1"/>
 			<property name="state-type" type="GVariantType*" readable="1" writable="0" construct="0" construct-only="0"/>
 			<vfunc name="activate">
 				<return-type type="void"/>
@@ -9607,6 +10123,18 @@
 					<parameter name="action_group" type="GActionGroup*"/>
 				</parameters>
 			</method>
+			<method name="query_action" symbol="g_action_group_query_action">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="action_group" type="GActionGroup*"/>
+					<parameter name="action_name" type="gchar*"/>
+					<parameter name="enabled" type="gboolean*"/>
+					<parameter name="parameter_type" type="GVariantType**"/>
+					<parameter name="state_type" type="GVariantType**"/>
+					<parameter name="state_hint" type="GVariant**"/>
+					<parameter name="state" type="GVariant**"/>
+				</parameters>
+			</method>
 			<signal name="action-added" when="LAST">
 				<return-type type="void"/>
 				<parameters>
@@ -9701,6 +10229,75 @@
 					<parameter name="action_group" type="GActionGroup*"/>
 				</parameters>
 			</vfunc>
+			<vfunc name="query_action">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="action_group" type="GActionGroup*"/>
+					<parameter name="action_name" type="gchar*"/>
+					<parameter name="enabled" type="gboolean*"/>
+					<parameter name="parameter_type" type="GVariantType**"/>
+					<parameter name="state_type" type="GVariantType**"/>
+					<parameter name="state_hint" type="GVariant**"/>
+					<parameter name="state" type="GVariant**"/>
+				</parameters>
+			</vfunc>
+		</interface>
+		<interface name="GActionMap" type-name="GActionMap" get-type="g_action_map_get_type">
+			<requires>
+				<interface name="GActionGroup"/>
+				<interface name="GObject"/>
+			</requires>
+			<method name="add_action" symbol="g_action_map_add_action">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="action_map" type="GActionMap*"/>
+					<parameter name="action" type="GAction*"/>
+				</parameters>
+			</method>
+			<method name="add_action_entries" symbol="g_action_map_add_action_entries">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="action_map" type="GActionMap*"/>
+					<parameter name="entries" type="GActionEntry*"/>
+					<parameter name="n_entries" type="gint"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="lookup_action" symbol="g_action_map_lookup_action">
+				<return-type type="GAction*"/>
+				<parameters>
+					<parameter name="action_map" type="GActionMap*"/>
+					<parameter name="action_name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="remove_action" symbol="g_action_map_remove_action">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="action_map" type="GActionMap*"/>
+					<parameter name="action_name" type="gchar*"/>
+				</parameters>
+			</method>
+			<vfunc name="add_action">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="action_map" type="GActionMap*"/>
+					<parameter name="action" type="GAction*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="lookup_action">
+				<return-type type="GAction*"/>
+				<parameters>
+					<parameter name="action_map" type="GActionMap*"/>
+					<parameter name="action_name" type="gchar*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="remove_action">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="action_map" type="GActionMap*"/>
+					<parameter name="action_name" type="gchar*"/>
+				</parameters>
+			</vfunc>
 		</interface>
 		<interface name="GAppInfo" type-name="GAppInfo" get-type="g_app_info_get_type">
 			<requires>
@@ -13407,6 +14004,48 @@
 				</parameters>
 			</vfunc>
 		</interface>
+		<interface name="GRemoteActionGroup" type-name="GRemoteActionGroup" get-type="g_remote_action_group_get_type">
+			<requires>
+				<interface name="GActionGroup"/>
+				<interface name="GObject"/>
+			</requires>
+			<method name="activate_action_full" symbol="g_remote_action_group_activate_action_full">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="remote" type="GRemoteActionGroup*"/>
+					<parameter name="action_name" type="gchar*"/>
+					<parameter name="parameter" type="GVariant*"/>
+					<parameter name="platform_data" type="GVariant*"/>
+				</parameters>
+			</method>
+			<method name="change_action_state_full" symbol="g_remote_action_group_change_action_state_full">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="remote" type="GRemoteActionGroup*"/>
+					<parameter name="action_name" type="gchar*"/>
+					<parameter name="value" type="GVariant*"/>
+					<parameter name="platform_data" type="GVariant*"/>
+				</parameters>
+			</method>
+			<vfunc name="activate_action_full">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="remote" type="GRemoteActionGroup*"/>
+					<parameter name="action_name" type="gchar*"/>
+					<parameter name="parameter" type="GVariant*"/>
+					<parameter name="platform_data" type="GVariant*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="change_action_state_full">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="remote" type="GRemoteActionGroup*"/>
+					<parameter name="action_name" type="gchar*"/>
+					<parameter name="value" type="GVariant*"/>
+					<parameter name="platform_data" type="GVariant*"/>
+				</parameters>
+			</vfunc>
+		</interface>
 		<interface name="GSeekable" type-name="GSeekable" get-type="g_seekable_get_type">
 			<requires>
 				<interface name="GObject"/>
@@ -14010,6 +14649,11 @@
 		<constant name="G_FILE_ATTRIBUTE_UNIX_NLINK" type="char*" value="unix::nlink"/>
 		<constant name="G_FILE_ATTRIBUTE_UNIX_RDEV" type="char*" value="unix::rdev"/>
 		<constant name="G_FILE_ATTRIBUTE_UNIX_UID" type="char*" value="unix::uid"/>
+		<constant name="G_MENU_ATTRIBUTE_ACTION" type="char*" value="action"/>
+		<constant name="G_MENU_ATTRIBUTE_LABEL" type="char*" value="label"/>
+		<constant name="G_MENU_ATTRIBUTE_TARGET" type="char*" value="target"/>
+		<constant name="G_MENU_LINK_SECTION" type="char*" value="section"/>
+		<constant name="G_MENU_LINK_SUBMENU" type="char*" value="submenu"/>
 		<constant name="G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME" type="char*" value="gio-native-volume-monitor"/>
 		<constant name="G_PROXY_EXTENSION_POINT_NAME" type="char*" value="gio-proxy"/>
 		<constant name="G_PROXY_RESOLVER_EXTENSION_POINT_NAME" type="char*" value="gio-proxy-resolver"/>
diff --git a/vapi/packages/gio-2.0/gio-2.0.metadata b/vapi/packages/gio-2.0/gio-2.0.metadata
index a6c1c24..24c0583 100644
--- a/vapi/packages/gio-2.0/gio-2.0.metadata
+++ b/vapi/packages/gio-2.0/gio-2.0.metadata
@@ -366,6 +366,9 @@ GActionGroup::action_added has_emitter="1"
 GActionGroup::action_removed has_emitter="1"
 GActionGroup::action_enabled_changed has_emitter="1"
 GActionGroup::action_state_changed has_emitter="1"
+g_action_group_query_action virtual="1"
+g_action_group_query_action.state_hint transfer_ownership="1"
+g_action_group_query_action.state transfer_ownership="1"
 g_action_group_activate_action.parameter nullable="1"
 g_action_group_get_action_parameter_type nullable="1"
 g_action_group_get_action_state nullable="1" transfer_ownership="1"
@@ -373,6 +376,19 @@ g_action_group_get_action_state_hint nullable="1" transfer_ownership="1"
 g_action_group_get_action_state_type nullable="1"
 g_action_group_list_actions is_array="1" transfer_ownership="1" no_array_length="1" array_null_terminated="1"
 
+g_action_map_lookup_action transfer_ownership="1"
+GMenuModel::items_changed has_emitter="1"
+g_menu_model_markup_parser_end transfer_ownership="1"
+g_menu_model_markup_parser_end_menu transfer_ownership="1"
+g_menu_model_get_item_attribute_value transfer_ownership="1"
+g_menu_model_get_item_link transfer_ownership="1"
+g_menu_model_iterate_item_attributes transfer_ownership="1"
+g_menu_model_iterate_item_links transfer_ownership="1"
+g_menu_attribute_iter_get_value transfer_ownership="1"
+g_menu_link_iter_get_value transfer_ownership="1"
+g_dbus_action_group_get transfer_ownership="1"
+g_dbus_menu_model_get transfer_ownership="1"
+
 g_cancellable_set_error_if_cancelled error_types="IOError"
 g_cancellable_connect.callback type_name="GLib.Func<GLib.Cancellable>" ctype="GCallback*" transfer_ownership="1"
 g_cancellable_connect.data hidden="1"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]