]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
gio vapi: GApplication, Menus, ActionGroup updates
authorRyan Lortie <desrt@desrt.ca>
Tue, 20 Dec 2011 04:27:55 +0000 (23:27 -0500)
committerRyan Lortie <desrt@desrt.ca>
Tue, 20 Dec 2011 04:47:10 +0000 (23:47 -0500)
vapi/gio-2.0.vapi
vapi/packages/gio-2.0/gio-2.0.gi
vapi/packages/gio-2.0/gio-2.0.metadata

index 601b3c5245ab63674d09be216336b718d557df5f..1a523cbb3e354664a072bd7c7818b4e4557105de 100644 (file)
@@ -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;
index fca25e44b946d27a74914ec44fa90fd6f0c2e62a..a28a69330bfc2428b3da12d5fa14226fd44369c9 100644 (file)
                <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"/>
                                        <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*"/>
                                </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"/>
                                        <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>
                                        <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>
                                </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"/>
                        <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"/>
                                        <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"/>
                <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"/>
                                        <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"/>
                                        <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>
                                        <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>
                                </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"/>
                <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"/>
index a6c1c2415f33e3e5d95760c820f0ae72ded6daba..24c0583594ec7d4d63c1bb8c84023513c8d3b55d 100644 (file)
@@ -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"