Imported Upstream version 2.43.91 upstream/2.43.91
authorDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 7 Sep 2020 06:49:14 +0000 (23:49 -0700)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 7 Sep 2020 06:49:14 +0000 (23:49 -0700)
20 files changed:
NEWS
configure.ac
gio/src/application.ccg
gio/src/application.hg
gio/src/dbusintrospection.hg
gio/src/file.ccg
gio/src/file.hg
gio/src/gio_docs.xml
gio/src/gio_methods.defs
gio/src/gio_signals.defs
gio/src/inputstream.ccg
gio/src/inputstream.hg
gio/src/memoryinputstream.hg
gio/src/outputstream.ccg
gio/src/outputstream.hg
gio/src/themedicon.ccg
gio/src/themedicon.hg
glib/src/glib_docs.xml
glib/src/glib_functions.defs
glib/src/optioncontext.hg

diff --git a/NEWS b/NEWS
index 095e3e8..5e58ae6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,29 @@
+2.43.91 (unstable):
+
+Glib:
+* OptionContext: Add get/set_strict_posix().
+  (Murray Cumming)
+
+Gio:
+* Application:
+  - Add get/set/unset_resource_base_path() and property.
+  - Add get_is_busy() and property.
+  (Murray Cumming)
+* File: Add replace_contents_bytes_aync().
+  (Murray Cumming)
+* InputStream: Add read_all_async() and read_all_finish().
+  (Murray Cumming)
+* MemoryInputStream: Add add_bytes().
+  (Murray Cumming)
+* OutputStream: Add write_all_async() and write_all_finish().
+  (Murray Cumming)
+
+Gio::DBus
+* InterfaceInfo: Add cache_build() and cache_release().
+  (Murray Cumming)
+
+
+
 2.43.90 (unstable):
 
 Glib:
index fbab534..6241c53 100644 (file)
@@ -15,7 +15,7 @@
 ## You should have received a copy of the GNU Lesser General Public License
 ## along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_INIT([glibmm], [2.43.90],
+AC_INIT([glibmm], [2.43.91],
         [http://bugzilla.gnome.org/enter_bug.cgi?product=glibmm],
         [glibmm], [http://www.gtkmm.org/])
 AC_PREREQ([2.59])
index 53fc100..1952aba 100644 (file)
@@ -482,4 +482,9 @@ void Application::add_main_option_entry_private(GOptionArg arg, const Glib::ustr
   g_application_add_main_option_entries(gobj(), array);
 }
 
+void Application::unset_resource_base_path()
+{
+  g_application_set_resource_base_path(gobj(), 0 /* see the C docs. */);
+}
+
 } // namespace Gio
index ab2cfa2..f2b1e66 100644 (file)
@@ -160,6 +160,14 @@ public:
   _WRAP_METHOD(ApplicationFlags get_flags() const, g_application_get_flags)
   _WRAP_METHOD(void set_flags(ApplicationFlags flags), g_application_set_flags)
 
+  _WRAP_METHOD(std::string get_resource_base_path() const, g_application_get_resource_base_path)
+  _WRAP_METHOD(void set_resource_base_path(const std::string& resource_path), g_application_set_resource_base_path)
+
+  /** Disable automatic resource loading functionality.
+   * See set_resource_base_path().
+   */
+  void unset_resource_base_path();
+
   _WRAP_METHOD(void set_action_group(const Glib::RefPtr<ActionGroup>& action_group), g_application_set_action_group,
     deprecated "Use the Gio::ActionMap interface instead.")
 
@@ -341,6 +349,7 @@ public:
 
   _WRAP_METHOD(void mark_busy(), g_application_mark_busy)
   _WRAP_METHOD(void unmark_busy(), g_application_unmark_busy)
+  _WRAP_METHOD(void get_is_busy() const, g_application_get_is_busy)
 
   _WRAP_METHOD(void send_notification(const Glib::ustring& id{?}, const Glib::RefPtr<Notification>& notification), g_application_send_notification)
   _WRAP_METHOD(void withdraw_notification(const Glib::ustring& id), g_application_withdraw_notification)
@@ -351,6 +360,8 @@ public:
   _WRAP_PROPERTY("inactivity-timeout", guint)
   _WRAP_PROPERTY("is-registered", bool)
   _WRAP_PROPERTY("is-remote", bool)
+  _WRAP_PROPERTY("resource-base-path", bool)
+  _WRAP_PROPERTY("is-busy", bool)
 
 //#m4 _CONVERSION(`const gchar*', `const Glib::ustring&', `Glib::ustring($3)')
 //#m4 _CONVERSION(`GVariant*', `const Glib::VariantBase&', `Glib::wrap($3, true)')
index 9613edf..419c424 100644 (file)
@@ -119,6 +119,9 @@ public:
   _WRAP_METHOD(Glib::RefPtr<PropertyInfo> lookup_property(const Glib::ustring& name), g_dbus_interface_info_lookup_property, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const PropertyInfo> lookup_property(const Glib::ustring& name) const, g_dbus_interface_info_lookup_property, constversion, refreturn)
 
+  _WRAP_METHOD(void cache_build(), g_dbus_interface_info_cache_build)
+  _WRAP_METHOD(void cache_release(), g_dbus_interface_info_cache_release)
+
   //TODO: _WRAP_METHOD(void generate_xml(guint indent, GString* string_builder), g_dbus_interface_info_generate_xml)
 };
 
index cdd31e6..639d4d7 100644 (file)
@@ -1456,6 +1456,52 @@ void File::replace_contents_finish(const Glib::RefPtr<AsyncResult>& result)
 }
 
 
+void
+File::replace_contents_bytes_async(const SlotAsyncReady& slot,
+                             const Glib::RefPtr<Cancellable>& cancellable,
+                             const Glib::RefPtr<const Glib::Bytes>& contents,
+                             const std::string& etag,
+                             bool make_backup,
+                             FileCreateFlags flags)
+{
+  // Create a copy of the slot.
+  // A pointer to it will be passed through the callback's data parameter
+  // and deleted in the callback.
+  SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+
+  g_file_replace_contents_bytes_async(gobj(),
+                                const_cast<GBytes*>(Glib::unwrap(contents)),
+                                etag.empty() ? 0 : etag.c_str(),
+                                make_backup,
+                                static_cast<GFileCreateFlags>(flags),
+                                Glib::unwrap(cancellable),
+                                &SignalProxy_async_callback,
+                                slot_copy);
+}
+
+void
+File::replace_contents_bytes_async(const SlotAsyncReady& slot,
+                             const Glib::RefPtr<const Glib::Bytes>& contents,
+                             const std::string& etag,
+                             bool make_backup,
+                             FileCreateFlags flags)
+{
+  // Create a copy of the slot.
+  // A pointer to it will be passed through the callback's data parameter
+  // and deleted in the callback.
+  SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+
+  g_file_replace_contents_bytes_async(gobj(),
+                                const_cast<GBytes*>(Glib::unwrap(contents)),
+                                etag.empty() ? 0 : etag.c_str(),
+                                make_backup,
+                                static_cast<GFileCreateFlags>(flags),
+                                0,
+                                &SignalProxy_async_callback,
+                                slot_copy);
+}
+
+
 Glib::RefPtr<FileOutputStream> File::replace(const Glib::RefPtr<Cancellable>& cancellable, const std::string& etag, bool make_backup, FileCreateFlags flags)
 {
   GError* gerror = 0;
index 9dffa9f..3618b06 100644 (file)
@@ -2360,6 +2360,51 @@ public:
   void replace_contents_finish(const Glib::RefPtr<AsyncResult>& result);
   _IGNORE(g_file_replace_contents_finish)
 
+
+ /** Same as replace_contents_async() but takes a Gio::Bytes input instead.
+  *
+  * When this operation has completed, @a slot will be called
+  * and the operation can be finalized with replace_contents_finish().
+  *
+  * The operation can be cancelled by
+  * triggering the cancellable object from another thread. If the operation
+  * was cancelled, a Gio::Error with CANCELLED will be thrown.
+  *
+  * If @a make_backup is true, this function will attempt to
+  * make a backup of the file.
+  *
+  * @param slot: A callback to call when the request is satisfied.
+  * @param cancellable A Cancellable object.
+  * @param contents Bytes of contents to replace the file with.
+  * @param etag a new entity tag for the file.
+  * @param make_backup true if a backup should be created.
+  * @param flags A set of FileCreateFlags.
+  */
+  void replace_contents_bytes_async(const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable, const Glib::RefPtr<const Glib::Bytes>& contents, const std::string& etag, bool make_backup = false, FileCreateFlags flags = FILE_CREATE_NONE);
+
+ /** Same as replace_contents_async() but takes a Gio::Bytes input instead.
+  *
+  * When this operation has completed, @a slot will be called
+  * and the operation can be finalized with replace_contents_finish().
+  *
+  * The operation can be cancelled by
+  * triggering the cancellable object from another thread. If the operation
+  * was cancelled, a Gio::Error with CANCELLED will be thrown.
+  *
+  * If @a make_backup is true, this function will attempt to
+  * make a backup of the file.
+  *
+  * @param slot: A callback to call when the request is satisfied.
+  * @param contents Bytes of contents to replace the file with.
+  * @param etag a new entity tag for the file.
+  * @param make_backup true if a backup should be created.
+  * @param flags A set of FileCreateFlags.
+  */
+  void replace_contents_bytes_async(const SlotAsyncReady& slot, const Glib::RefPtr<const Glib::Bytes>& contents, const std::string& etag, bool make_backup = false, FileCreateFlags flags = FILE_CREATE_NONE);
+
+  _IGNORE(g_file_replace_contents_async)
+
+
   _WRAP_METHOD(bool supports_thread_contexts() const, g_file_supports_thread_contexts)
 
   // *** vfuncs ***
index b8ea5b9..31853ca 100644 (file)
@@ -1456,6 +1456,67 @@ Flags used when creating a #GAppInfo.
 </parameters>
 </enum>
 
+<signal name="GAppInfoMonitor::changed">
+<description>
+Signal emitted when the app info database for changes (ie: newly installed
+or removed applications).
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GAppLaunchContext::launch-failed">
+<description>
+The ::launch-failed signal is emitted when a #GAppInfo launch
+fails. The startup notification id is provided, so that the launcher
+can cancel the startup notification.
+
+Since: 2.36
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the object emitting the signal
+</parameter_description>
+</parameter>
+<parameter name="startup_notify_id">
+<parameter_description> the startup notification id for the failed launch
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GAppLaunchContext::launched">
+<description>
+The ::launched signal is emitted when a #GAppInfo is successfully
+launched. The @platform_data is an GVariant dictionary mapping
+strings to variants (ie a{sv}), which contains additional,
+platform-specific data about this launch. On UNIX, at least the
+&quot;pid&quot; and &quot;startup-notification-id&quot; keys will be present.
+
+Since: 2.36
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the object emitting the signal
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> the #GAppInfo that was just launched
+</parameter_description>
+</parameter>
+<parameter name="platform_data">
+<parameter_description> additional platform-specific data for this launch
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
 <signal name="GApplication::activate">
 <description>
 The ::activate signal is emitted on the primary instance when an
@@ -21554,6 +21615,35 @@ Since: 2.40
 <return></return>
 </function>
 
+<function name="g_application_bind_busy_property">
+<description>
+Marks @application as busy (see g_application_mark_busy()) while
+@property on @object is %TRUE.
+
+The binding holds a reference to @application while it is active, but
+not to @object. Instead, the binding is destroyed when @object is
+finalized.
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="application">
+<parameter_description> a #GApplication
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+<parameter name="property">
+<parameter_description> the name of a boolean property of @object
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_application_command_line_create_file_for_arg">
 <description>
 Creates a #GFile corresponding to a filename that was given as part
@@ -22057,6 +22147,25 @@ Since: 2.28
 </return>
 </function>
 
+<function name="g_application_get_is_busy">
+<description>
+Gets the application's current busy state, as set through
+g_application_mark_busy() or g_application_bind_busy_property().
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="application">
+<parameter_description> a #GApplication
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @application is currenty marked as busy
+
+</return>
+</function>
+
 <function name="g_application_get_is_registered">
 <description>
 Checks if @application is registered.
@@ -22427,11 +22536,7 @@ except in the case that g_application_set_inactivity_timeout() is in
 use.
 
 This function sets the prgname (g_set_prgname()), if not already set,
-to the basename of argv[0].  Since 2.38, if %G_APPLICATION_IS_SERVICE
-is specified, the prgname is set to the application ID.  The main
-impact of this is is that the wmclass of windows created by Gtk+ will
-be set accordingly, which helps the window manager determine which
-application is showing the window.
+to the basename of argv[0].
 
 Since 2.40, applications that are not explicitly flagged as services
 or launchers (ie: neither %G_APPLICATION_IS_SERVICE or
@@ -22694,6 +22799,32 @@ Since: 2.42
 <return></return>
 </function>
 
+<function name="g_application_unbind_busy_property">
+<description>
+Destroys a binding between @property and the busy state of
+@application that was previously created with
+g_application_bind_busy_property().
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="application">
+<parameter_description> a #GApplication
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+<parameter name="property">
+<parameter_description> the name of a boolean property of @object
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_application_unmark_busy">
 <description>
 Decreases the busy count of @application.
@@ -24102,7 +24233,9 @@ This function is thread-safe. In other words, you can safely call
 it from a thread other than the one running the operation that was
 passed the @cancellable.
 
-The convention within gio is that cancelling an asynchronous
+If @cancellable is %NULL, this function returns immediately for convenience.
+
+The convention within GIO is that cancelling an asynchronous
 operation causes it to complete asynchronously. That is, if you
 cancel the operation from the same thread in which it is running,
 then the operation's #GAsyncReadyCallback will not be invoked until
@@ -36133,6 +36266,76 @@ Checks if the file enumerator has been closed.
 </return>
 </function>
 
+<function name="g_file_enumerator_iterate">
+<description>
+This is a version of g_file_enumerator_next_file() that's easier to
+use correctly from C programs.  With g_file_enumerator_next_file(),
+the gboolean return value signifies &quot;end of iteration or error&quot;, which
+requires allocation of a temporary #GError.
+
+In contrast, with this function, a %FALSE return from
+gs_file_enumerator_iterate() *always* means
+&quot;error&quot;.  End of iteration is signaled by @out_info or @out_child being %NULL.
+
+Another crucial difference is that the references for @out_info and
+@out_child are owned by @direnum (they are cached as hidden
+properties).  You must not unref them in your own code.  This makes
+memory management significantly easier for C code in combination
+with loops.
+
+Finally, this function optionally allows retrieving a #GFile as
+well.
+
+You must specify at least one of @out_info or @out_child.
+
+The code pattern for correctly using g_file_enumerator_iterate() from C
+is:
+
+|[
+direnum = g_file_enumerate_children (file, ...);
+while (TRUE)
+{
+GFileInfo *info;
+if (!g_file_enumerator_iterate (direnum, &amp;info, NULL, cancellable, error))
+goto out;
+if (!info)
+break;
+... do stuff with &quot;info&quot;; do not unref it! ...
+}
+
+out:
+g_object_unref (direnum); // Note: frees the last @info
+]|
+
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="direnum">
+<parameter_description> an open #GFileEnumerator
+</parameter_description>
+</parameter>
+<parameter name="out_info">
+<parameter_description> Output location for the next #GFileInfo, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="out_child">
+<parameter_description> Output location for the next #GFile, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> a #GCancellable
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_file_enumerator_next_file">
 <description>
 Returns information for the next file in the enumerated object.
@@ -42888,22 +43091,6 @@ ignore.
 </return>
 </function>
 
-<function name="g_input_stream_async_read_is_via_threads">
-<description>
-Checks if an input stream's read_async function uses threads.
-
-
-</description>
-<parameters>
-<parameter name="stream">
-<parameter_description> input stream
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @stream's read_async function uses threads.
-</return>
-</function>
-
 <function name="g_input_stream_clear_pending">
 <description>
 Clears the pending flag on @stream.
@@ -44882,6 +45069,14 @@ Since: 2.44
 <parameter_description> the new item
 </parameter_description>
 </parameter>
+<parameter name="compare_func">
+<parameter_description> pairwise comparison function for sorting
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @compare_func
+</parameter_description>
+</parameter>
 </parameters>
 <return> the position at which @item was inserted
 
@@ -48778,22 +48973,6 @@ Since: 2.28
 </return>
 </function>
 
-<function name="g_output_stream_async_write_is_via_threads">
-<description>
-Checks if an ouput stream's write_async function uses threads.
-
-
-</description>
-<parameters>
-<parameter name="stream">
-<parameter_description> a #GOutputStream.
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @stream's write_async function uses threads.
-</return>
-</function>
-
 <function name="g_output_stream_clear_pending">
 <description>
 Clears the pending flag on @stream.
@@ -50499,7 +50678,8 @@ Since: 2.38
 </parameter_description>
 </parameter>
 <parameter name="object">
-<parameter_description> the object that has the property to wrap
+<parameter_description> the object that has the property
+to wrap
 </parameter_description>
 </parameter>
 <parameter name="property_name">
@@ -53280,9 +53460,11 @@ with it.
 
 <function name="g_settings_list_relocatable_schemas">
 <description>
+&lt;!-- --&gt;
+
 Since: 2.28
 
-Deprecated:2.40: Use g_settings_schema_source_list_schemas() instead
+Deprecated: 2.40: Use g_settings_schema_source_list_schemas() instead
 
 </description>
 <parameters>
@@ -53296,9 +53478,11 @@ modified or freed.
 
 <function name="g_settings_list_schemas">
 <description>
+&lt;!-- --&gt;
+
 Since: 2.26
 
-Deprecated:2.40: Use g_settings_schema_source_list_schemas() instead.
+Deprecated: 2.40: Use g_settings_schema_source_list_schemas() instead.
 If you used g_settings_list_schemas() to check for the presence of
 a particular schema, use g_settings_schema_source_lookup() instead
 of your whole loop.
@@ -53352,7 +53536,7 @@ At the most basic level, a #GSettings object is a pure composition of
 backend, and a #GMainContext to which signals are dispatched.
 
 This constructor therefore gives you full control over constructing
-#GSettings instances.  The first 4 parameters are given directly as
+#GSettings instances.  The first 3 parameters are given directly as
 @schema, @backend and @path, and the main context is taken from the
 thread-default (as per g_settings_new()).
 
@@ -55393,6 +55577,29 @@ Since: 2.28
 <return></return>
 </function>
 
+<function name="g_simple_io_stream_new">
+<description>
+Creates a new #GSimpleIOStream wrapping @input_stream and @output_stream.
+See also #GIOStream.
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="input_stream">
+<parameter_description> a #GInputStream.
+</parameter_description>
+</parameter>
+<parameter name="output_stream">
+<parameter_description> a #GOutputStream.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GSimpleIOStream instance.
+
+</return>
+</function>
+
 <function name="g_simple_permission_new">
 <description>
 Creates a new #GPermission instance that represents an action that is
@@ -65391,28 +65598,59 @@ Checks if a unix mount is a system path.
 </return>
 </function>
 
+<function name="g_unix_mount_monitor_get">
+<description>
+Gets the #GUnixMountMonitor for the current thread-default main
+context.
+
+The mount monitor can be used to monitor for changes to the list of
+mounted filesystems as well as the list of mount points (ie: fstab
+entries).
+
+You must only call g_object_unref() on the return value from under
+the same main context as you called this function.
+
+Since: 2.44
+
+</description>
+<parameters>
+</parameters>
+<return> the #GUnixMountMonitor.
+
+</return>
+</function>
+
 <function name="g_unix_mount_monitor_new">
 <description>
-Gets a new #GUnixMountMonitor. The default rate limit for which the
-monitor will report consecutive changes for the mount and mount
-point entry files is the default for a #GFileMonitor. Use
-g_unix_mount_monitor_set_rate_limit() to change this.
+Deprecated alias for g_unix_mount_monitor_get().
 
+This function was never a true constructor, which is why it was
+renamed.
+
+Deprecated:2.44:Use g_unix_mount_monitor_get() instead.
 
 </description>
 <parameters>
 </parameters>
-<return> a #GUnixMountMonitor. 
+<return> a #GUnixMountMonitor.
+
 </return>
 </function>
 
 <function name="g_unix_mount_monitor_set_rate_limit">
 <description>
-Sets the rate limit to which the @mount_monitor will report
-consecutive change events to the mount and mount point entry files.
+This function does nothing.
+
+Before 2.44, this was a partially-effective way of controlling the
+rate at which events would be reported under some uncommon
+circumstances.  Since @mount_monitor is a singleton, it also meant
+that calling this function would have side effects for other users of
+the monitor.
 
 Since: 2.18
 
+Deprecated:2.44:This function does nothing.  Don't call it.
+
 </description>
 <parameters>
 <parameter name="mount_monitor">
@@ -66924,50 +67162,6 @@ Since: 2.26
 <return></return>
 </function>
 
-<function name="g_winhttp_file_input_stream_new">
-<description>
-
-</description>
-<parameters>
-<parameter name="file">
-<parameter_description> the GWinHttpFile being read
-</parameter_description>
-</parameter>
-<parameter name="connection">
-<parameter_description> handle to the HTTP connection, as from WinHttpConnect()
-</parameter_description>
-</parameter>
-<parameter name="request">
-<parameter_description> handle to the HTTP request, as from WinHttpOpenRequest
-</parameter_description>
-</parameter>
-</parameters>
-<return> #GFileInputStream for the given request
-</return>
-</function>
-
-<function name="g_winhttp_file_output_stream_new">
-<description>
-
-</description>
-<parameters>
-<parameter name="file">
-<parameter_description> the GWinHttpFile being read
-</parameter_description>
-</parameter>
-<parameter name="connection">
-<parameter_description> handle to the HTTP connection, as from WinHttpConnect()
-</parameter_description>
-</parameter>
-<parameter name="request">
-<parameter_description> handle to the HTTP request, as from WinHttpOpenRequest
-</parameter_description>
-</parameter>
-</parameters>
-<return> #GFileOutputStream for the given request
-</return>
-</function>
-
 <function name="g_winhttp_vfs_new">
 <description>
 Returns a new #GVfs handle for a WinHttp vfs.
@@ -67676,10 +67870,6 @@ port_add will associate a GSource to @f-&gt;source
 
 </description>
 <parameters>
-<parameter name="f">
-<parameter_description>
-</parameter_description>
-</parameter>
 </parameters>
 <return></return>
 </function>
index ed4d244..43d8431 100644 (file)
   (return-type "none")
 )
 
+(define-method get_is_busy
+  (of-object "GApplication")
+  (c-name "g_application_get_is_busy")
+  (return-type "gboolean")
+)
+
 (define-method send_notification
   (of-object "GApplication")
   (c-name "g_application_send_notification")
   )
 )
 
+(define-method unbind_busy_property
+  (of-object "GApplication")
+  (c-name "g_application_unbind_busy_property")
+  (return-type "none")
+  (parameters
+    '("gpointer" "object")
+    '("const-gchar*" "property")
+  )
+)
+
 
 
 ;; From gapplicationimpl.h
 
 
 
+;; From gcontextspecificgroup.h
+
+(define-method get
+  (of-object "GContextSpecificGroup")
+  (c-name "g_context_specific_group_get")
+  (return-type "gpointer")
+  (parameters
+    '("GType" "type")
+    '("goffset" "context_offset")
+    '("GCallback" "start_func")
+  )
+)
+
+(define-method remove
+  (of-object "GContextSpecificGroup")
+  (c-name "g_context_specific_group_remove")
+  (return-type "none")
+  (parameters
+    '("GMainContext*" "context")
+    '("gpointer" "instance")
+    '("GCallback" "stop_func")
+  )
+)
+
+(define-method emit
+  (of-object "GContextSpecificGroup")
+  (c-name "g_context_specific_group_emit")
+  (return-type "none")
+  (parameters
+    '("guint" "signal_id")
+  )
+)
+
+
+
 ;; From gconverter.h
 
 (define-function g_converter_get_type
   )
 )
 
+(define-method iterate
+  (of-object "GFileEnumerator")
+  (c-name "g_file_enumerator_iterate")
+  (return-type "gboolean")
+  (parameters
+    '("GFileInfo**" "out_info")
+    '("GFile**" "out_child")
+    '("GCancellable*" "cancellable")
+    '("GError**" "error")
+  )
+)
+
 
 
 ;; From gfile.h
   (return-type "gboolean")
 )
 
+(define-method async_close_is_via_threads
+  (of-object "GInputStream")
+  (c-name "g_input_stream_async_close_is_via_threads")
+  (return-type "gboolean")
+)
+
 (define-method async_write_is_via_threads
   (of-object "GOutputStream")
   (c-name "g_output_stream_async_write_is_via_threads")
   (return-type "gboolean")
 )
 
+(define-method async_close_is_via_threads
+  (of-object "GOutputStream")
+  (c-name "g_output_stream_async_close_is_via_threads")
+  (return-type "gboolean")
+)
+
 (define-method set_cached_remote_address
   (of-object "GSocketConnection")
   (c-name "g_socket_connection_set_cached_remote_address")
 
 ;; From gioscheduler.h
 
+(define-function g_io_scheduler_push_job
+  (c-name "g_io_scheduler_push_job")
+  (return-type "none")
+  (parameters
+    '("GIOSchedulerJobFunc" "job_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "notify")
+    '("gint" "io_priority")
+    '("GCancellable*" "cancellable")
+  )
+)
+
 (define-function g_io_scheduler_cancel_all_jobs
   (c-name "g_io_scheduler_cancel_all_jobs")
   (return-type "none")
 
 
 
+;; From gsimpleiostream.h
+
+(define-function g_simple_io_stream_get_type
+  (c-name "g_simple_io_stream_get_type")
+  (return-type "GType")
+)
+
+(define-function g_simple_io_stream_new
+  (c-name "g_simple_io_stream_new")
+  (is-constructor-of "GSimpleIoStream")
+  (return-type "GIOStream*")
+  (parameters
+    '("GInputStream*" "input_stream")
+    '("GOutputStream*" "output_stream")
+  )
+)
+
+
+
 ;; From gsimplepermission.h
 
 (define-function g_simple_permission_get_type
   (return-type "GType")
 )
 
+(define-function g_unix_mount_monitor_get
+  (c-name "g_unix_mount_monitor_get")
+  (return-type "GUnixMountMonitor*")
+)
+
 (define-function g_unix_mount_monitor_new
   (c-name "g_unix_mount_monitor_new")
   (is-constructor-of "GUnixMountMonitor")
index d6ce021..71d966a 100644 (file)
   (construct-only #f)
 )
 
+(define-property is-busy
+  (of-object "GApplication")
+  (prop-type "GParamBoolean")
+  (docs "If this application is currently marked busy")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
 ;; From GAppInfoMonitor
 
 (define-signal changed
index d82ca18..82d0c13 100644 (file)
@@ -59,6 +59,42 @@ InputStream::read_async(void* buffer, gsize count, const SlotAsyncReady& slot, i
                             slot_copy);
 }
 
+
+void
+InputStream::read_all_async(void* buffer, gsize count, const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable, int io_priority)
+{
+  // Create a copy of the slot.
+  // A pointer to it will be passed through the callback's data parameter
+  // and deleted in the callback.
+  SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+
+  g_input_stream_read_all_async(gobj(),
+                            buffer,
+                            count,
+                            io_priority,
+                            Glib::unwrap(cancellable),
+                            &SignalProxy_async_callback,
+                            slot_copy);
+}
+
+void
+InputStream::read_all_async(void* buffer, gsize count, const SlotAsyncReady& slot, int io_priority)
+{
+  // Create a copy of the slot.
+  // A pointer to it will be passed through the callback's data parameter
+  // and deleted in the callback.
+  SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+
+  g_input_stream_read_all_async(gobj(),
+                            buffer,
+                            count,
+                            io_priority,
+                            0,
+                            &SignalProxy_async_callback,
+                            slot_copy);
+}
+
+
 void
 InputStream::read_bytes_async(gsize count, const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable, int io_priority)
 {
index 64c53c4..446e901 100644 (file)
@@ -205,6 +205,80 @@ public:
                g_input_stream_read_finish,
                errthrow)
 
+
+  /** Request an asynchronous read of @a count bytes from the stream into the buffer
+   * starting at @a buffer. This is the asynchronous equivalent of read_all().
+   *
+   * When the operation is finished @a slot will be called.
+   * You can then call read_all_finish() to get the result of the
+   * operation.
+   *
+   * During an async request no other sync and async calls are allowed, and will
+   * result in Gio::Error with PENDING being thrown.
+   *
+   * A value of @a count larger than MAXSSIZE will cause a Gio::Error with INVALID_ARGUMENT to be thrown.
+   *
+   * On success, the number of bytes read into the buffer will be passed to the
+   * @a slot callback. It is not an error if this is not the same as the requested size, as it
+   * can happen e.g. near the end of a file, but generally we try to read
+   * as many bytes as requested. Zero is returned on end of file
+   * (or if @a count is zero), but never otherwise.
+   *
+   * Any outstanding i/o request with higher priority (lower numerical value) will
+   * be executed before an outstanding request with lower priority. Default
+   * priority is PRIORITY_DEFAULT.
+   *
+   * The asyncronous methods have a default fallback that uses threads to implement
+   * asynchronicity, so they are optional for inheriting classes. However, if you
+   * override one you must override all.
+   *
+   * @param buffer A buffer to read data into (which should be at least count bytes long).
+   * @param count The number of bytes that will be read from the stream.
+   * @param slot Callback to call when the request is satisfied.
+   * @param cancellable A Cancellable object.
+   * @param io_priority The I/O priority of the request.
+   */
+  void read_all_async(void* buffer, gsize count, const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable, int io_priority = Glib::PRIORITY_DEFAULT);
+
+  /** Request an asynchronous read of @a count bytes from the stream into the buffer
+   * starting at @a buffer. This is the asynchronous equivalent of read_all().
+   *
+   * When the operation is finished @a slot will be called.
+   * You can then call read_all_finish() to get the result of the
+   * operation.
+   *
+   * During an async request no other sync and async calls are allowed, and will
+   * result in a Gio::Error with PENDING being thrown.
+   *
+   * A value of @a count larger than MAXSSIZE will cause a Gio::Error with INVALID_ARGUMENT to be thrown.
+   *
+   * On success, the number of bytes read into the buffer will be passed to the
+   * @a slot callback. It is not an error if this is not the same as the requested size, as it
+   * can happen e.g. near the end of a file, but generally we try to read
+   * as many bytes as requested. Zero is returned on end of file
+   * (or if @a count is zero), but never otherwise.
+   *
+   * Any outstanding i/o request with higher priority (lower numerical value) will
+   * be executed before an outstanding request with lower priority. Default
+   * priority is PRIORITY_DEFAULT.
+   *
+   * The asyncronous methods have a default fallback that uses threads to implement
+   * asynchronicity, so they are optional for inheriting classes. However, if you
+   * override one you must override all.
+   *
+   * @param buffer A buffer to read data into (which should be at least count bytes long).
+   * @param count The number of bytes that will be read from the stream.
+   * @param slot Callback to call when the request is satisfied.
+   * @param io_priority The I/O priority of the request.
+   */
+  void read_all_async(void* buffer, gsize count, const SlotAsyncReady& slot, int io_priority = Glib::PRIORITY_DEFAULT);
+  _IGNORE(g_input_stream_read_all_async)
+
+  _WRAP_METHOD(bool read_all_finish(const Glib::RefPtr<AsyncResult>& result, gsize& bytes_read),
+               g_input_stream_read_all_finish,
+               errthrow)
+
+
   //TODO: Use std::size_type instead of gsize?
 
   /** Request an asynchronous skip of @a count bytes from the stream into the buffer
index eee7161..3b83675 100644 (file)
@@ -87,6 +87,8 @@ _DEPRECATE_IFDEF_END
    * @newin{2,40}
    */
   void add_data(const void* data, gssize len, const SlotDestroyData& destroy_slot);
+
+  _WRAP_METHOD(void add_bytes(const Glib::RefPtr<const Glib::Bytes>& bytes), g_memory_input_stream_add_bytes)
 };
 
 } // namespace Gio
index d991bf7..0ed1e13 100644 (file)
@@ -58,6 +58,43 @@ OutputStream::write_async(const void* buffer, gsize count, const SlotAsyncReady&
                               slot_copy);
 }
 
+
+
+void
+OutputStream::write_all_async(const void* buffer, gsize count, const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable, int io_priority)
+{
+  // Create a copy of the slot.
+  // A pointer to it will be passed through the callback's data parameter
+  // and deleted in the callback.
+  SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+
+  g_output_stream_write_all_async(gobj(),
+                              buffer,
+                              count,
+                              io_priority,
+                              Glib::unwrap(cancellable),
+                              &SignalProxy_async_callback,
+                              slot_copy);
+}
+
+void
+OutputStream::write_all_async(const void* buffer, gsize count, const SlotAsyncReady& slot, int io_priority)
+{
+  // Create a copy of the slot.
+  // A pointer to it will be passed through the callback's data parameter
+  // and deleted in the callback.
+  SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+
+  g_output_stream_write_all_async(gobj(),
+                              buffer,
+                              count,
+                              io_priority,
+                              0,
+                              &SignalProxy_async_callback,
+                              slot_copy);
+}
+
+
 void
 OutputStream::splice_async(const Glib::RefPtr<InputStream>& source, const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable, OutputStreamSpliceFlags flags, int io_priority)
 {
index d13992f..b318d3b 100644 (file)
@@ -256,6 +256,11 @@ public:
    * For the synchronous, blocking version of this function, see
    * write().
    *
+   * Note that no copy of @a buffer will be made, so it must stay valid
+   * until @a slot is called. See write_bytes_async()
+   * for a Glib::Bytes version that will automatically hold a reference to
+   * the contents (without copying) for the duration of the call.
+   *
    * @param buffer The buffer containing the data to write.
    * @param count The number of bytes to write
    * @param slot Callback slot to call when the request is satisfied.
@@ -290,6 +295,11 @@ public:
    *
    * For the synchronous, blocking version of this function, see
    * write().
+
+   * Note that no copy of @a buffer will be made, so it must stay valid
+   * until @a slot is called. See write_bytes_async()
+   * for a Glib::Bytes version that will automatically hold a reference to
+   * the contents (without copying) for the duration of the call.
    *
    * @param buffer The buffer containing the data to write.
    * @param count The number of bytes to write
@@ -303,6 +313,92 @@ public:
                g_output_stream_write_finish,
                errthrow)
 
+
+  /** Request an asynchronous write of @a count bytes from @a buffer into
+   * the stream. When the operation is finished @a slot will be called.
+   * You can then call write_all_finish() to get the result of the
+   * operation.
+   *
+   * This is the asynchronous version of write_all().
+   *
+   * During an async request no other sync and async calls are allowed,
+   * and will result in Gio::Error with PENDING being thrown.
+   *
+   * A value of @a count larger than MAXSSIZE will cause a Gio::Error with
+   * INVALID_ARGUMENT to be thrown.
+   *
+   * On success, the number of bytes written will be passed to the
+   * callback @a slot. It is not an error if this is not the same as the
+   * requested size, as it can happen e.g. on a partial I/O error,
+   * but generally we try to write as many bytes as requested.
+   *
+   * Any outstanding I/O request with higher priority (lower numerical
+   * value) will be executed before an outstanding request with lower
+   * priority. Default priority is Glib::PRIORITY_DEFAULT.
+   *
+   * The asyncronous methods have a default fallback that uses threads
+   * to implement asynchronicity, so they are optional for inheriting
+   * classes. However, if you override one you must override all.
+   *
+   * For the synchronous, blocking version of this function, see
+   * write().
+   *
+   * Note that no copy of @a buffer will be made, so it must stay valid
+   * until @a slot is called.
+   *
+   * @param buffer The buffer containing the data to write.
+   * @param count The number of bytes to write
+   * @param slot Callback slot to call when the request is satisfied.
+   * @param cancellable Cancellable object.
+   * @param io_priority The io priority of the request.
+   */
+  void write_all_async(const void* buffer, gsize count, const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable, int io_priority = Glib::PRIORITY_DEFAULT);
+
+  /** Request an asynchronous write of @a count bytes from @a buffer into
+   * the stream. When the operation is finished @a slot will be called.
+   * You can then call write_finish() to get the result of the
+   * operation.
+   *
+   * This is the asynchronous version of write_all().
+   *
+   * During an async request no other sync and async calls are allowed,
+   * and will result in Gio::Error with PENDING being thrown.
+   *
+   * A value of @a count larger than MAXSSIZE will cause a Gio::Error with
+   * INVALID_ARGUMENT to be thrown.
+   *
+   * On success, the number of bytes written will be passed to the
+   * callback @a slot. It is not an error if this is not the same as the
+   * requested size, as it can happen e.g. on a partial I/O error,
+   * but generally we try to write as many bytes as requested.
+   *
+   * Any outstanding I/O request with higher priority (lower numerical
+   * value) will be executed before an outstanding request with lower
+   * priority. Default priority is Glib::PRIORITY_DEFAULT.
+   *
+   * The asyncronous methods have a default fallback that uses threads
+   * to implement asynchronicity, so they are optional for inheriting
+   * classes. However, if you override one you must override all.
+   *
+   * For the synchronous, blocking version of this function, see
+   * write().
+   *
+   * Note that no copy of @a buffer will be made, so it must stay valid
+   * until @a slot is called.
+   *
+   * @param buffer The buffer containing the data to write.
+   * @param count The number of bytes to write
+   * @param slot Callback slot to call when the request is satisfied.
+   * @param io_priority The io priority of the request.
+   */
+  void write_all_async(const void* buffer, gsize count, const SlotAsyncReady& slot, int io_priority = Glib::PRIORITY_DEFAULT);
+  _IGNORE(g_output_stream_write_all_async)
+
+  _WRAP_METHOD(bool write_all_finish(const Glib::RefPtr<AsyncResult>& result, gsize& bytes_written),
+               g_output_stream_write_all_finish,
+               errthrow)
+
+
   /** Splices a stream asynchronously.
    *  When the operation is finished @a slot will be called.
    * You can then call splice_finish() to get the result of the
index 3a6d540..af938ee 100644 (file)
@@ -1,5 +1,3 @@
-// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
 /* Copyright (C) 2007 The gtkmm Development Team
  *
  * This library is free software; you can redistribute it and/or
@@ -22,9 +20,9 @@
 namespace Gio
 {
 
-ThemedIcon::ThemedIcon(const std::string& iconname, bool use_default_callbacks)
+ThemedIcon::ThemedIcon(const std::string& iconname, bool use_default_fallbacks)
 :
-  _CONSTRUCT("name", iconname.c_str(), "use-default-fallbacks", gboolean(use_default_callbacks))
+  _CONSTRUCT("name", iconname.c_str(), "use-default-fallbacks", gboolean(use_default_fallbacks))
 {}
 
 } //namespace Gio
index d5a0ea2..c906b22 100644 (file)
@@ -1,5 +1,3 @@
-// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
 /* Copyright (C) 2007 The gtkmm Development Team
  *
  * This library is free software; you can redistribute it and/or
@@ -28,7 +26,7 @@ _PINCLUDE(glibmm/private/object_p.h)
 namespace Gio
 {
 
-/** Icon theming support
+/** Icon theming support.
  * ThemedIcon is an implementation of Gio::Icon that supports icon themes.
  * ThemedIcon contains a list of all of the icons present in an icon
  * theme, so that icons can be looked up quickly. ThemedIcon does
@@ -47,21 +45,33 @@ class ThemedIcon
   _IMPLEMENTS_INTERFACE(Icon)
 
 protected:
-  /** Creates a new themed icon for @ iconname, and optionally all the names that can be created by shortening @a iconname at '-' characters.
+  /** Creates a new themed icon for @a iconname, and optionally all the names that can be created by shortening @a iconname at '-' characters.
    *
    * @param iconname A string containing an icon name.
-   * @param use_default_callbacks Whether to use all the names that can be created by shortening @a iconname at '-' characters.
+   * @param use_default_fallbacks Whether to use all the names that can be created by shortening @a iconname at '-' characters.
    */
-  explicit ThemedIcon(const std::string& iconname, bool use_default_callbacks = false);
+  explicit ThemedIcon(const std::string& iconname, bool use_default_fallbacks = false);
   _IGNORE(g_themed_icon_new, g_themed_icon_new_with_default_fallbacks)
 
 public:
-  /** Creates a new themed icon for @ iconname, and optionally all the names that can be created by shortening @a iconname at '-' characters.
+  /** Creates a new themed icon for @a iconname, and optionally all the names that can be created by shortening @a iconname at '-' characters.
+   *
+   * For example
+   * @code
+   * Glib::RefPtr<Gio::ThemedIcon> icon = Gio::ThemedIcon::create("gnome-dev-cdrom-audio", true);
+   * @endcode
+   * is equivalent to
+   * @code
+   * Glib::RefPtr<Gio::ThemedIcon> icon = Gio::ThemedIcon::create("gnome-dev-cdrom-audio", false);
+   * icon->append_name("gnome-dev-cdrom");
+   * icon->append_name("gnome-dev");
+   * icon->append_name("gnome");
+   * @endcode
    *
    * @param iconname A string containing an icon name.
-   * @param use_default_callbacks Whether to use all the names that can be created by shortening @a iconname at '-' characters.
+   * @param use_default_fallbacks Whether to use all the names that can be created by shortening @a iconname at '-' characters.
    */
-  _WRAP_CREATE(const std::string& iconname, bool use_default_callbacks = false)
+  _WRAP_CREATE(const std::string& iconname, bool use_default_fallbacks = false)
 
   //TODO: GIcon *g_themed_icon_new_from_names (char **iconnames, int len);
 
index 543c939..aebd445 100644 (file)
@@ -6382,7 +6382,7 @@ Since: 2.44
 
 </description>
 <parameters>
-<parameter name="typename">
+<parameter name="TypeName">
 <parameter_description> a supported variable type
 </parameter_description>
 </parameter>
@@ -6390,6 +6390,44 @@ Since: 2.44
 <return></return>
 </function>
 
+<function name="g_autofree">
+<description>
+Macro to add an attribute to pointer variable to ensure automatic
+cleanup using g_free().
+
+This macro differs from g_autoptr() in that it is an attribute supplied
+before the type name, rather than wrapping the type definition.  Instead
+of using a type-specific lookup, this macro always calls g_free() directly.
+
+This means it's useful for any type that is returned from
+g_malloc().
+
+Otherwise, this macro has similar constraints as g_autoptr() - only
+supported on GCC and clang, the variable must be initialized, etc.
+
+|[
+gboolean
+operate_on_malloc_buf (void)
+{
+g_autofree guint8* membuf = NULL;
+
+membuf = g_malloc (8192);
+
+/ * Some computation on membuf * /
+
+/ * membuf will be automatically freed here * /
+return TRUE;
+}
+]|
+
+Since: 2.44
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_autoptr">
 <description>
 Helper to declare a pointer variable with automatic cleanup.
@@ -6402,7 +6440,7 @@ defined on other compilers and should not be used in programs that
 are intended to be portable to those compilers.
 
 This is meant to be used to declare pointers to types with cleanup
-functions.  The type of the variable is a pointer to @typename.  You
+functions.  The type of the variable is a pointer to @TypeName.  You
 must not add your own '*'.
 
 This macro can be used to avoid having to do explicit cleanups of
@@ -6447,7 +6485,7 @@ Since: 2.44
 
 </description>
 <parameters>
-<parameter name="typename">
+<parameter name="TypeName">
 <parameter_description> a supported variable type
 </parameter_description>
 </parameter>
@@ -9252,6 +9290,91 @@ data structures to @func; use g_cache_key_foreach() instead
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_BOOLEAN__BOXED_BOXED">
+<description>
+A #GClosureMarshal function for use with signals with handlers that
+take two boxed pointers as arguments and return a boolean.  If you
+have such a signal, you will probably also need to use an
+accumulator, such as g_signal_accumulator_true_handled().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> A #GClosure.
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
+</parameter_description>
+</parameter>
+<parameter name="n_param_values">
+<parameter_description> The length of the @param_values array.
+</parameter_description>
+</parameter>
+<parameter name="param_values">
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
+</parameter_description>
+</parameter>
+<parameter name="invocation_hint">
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__BOXED_BOXED().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_BOOLEAN__FLAGS">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9289,6 +9412,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_BOOLEAN__FLAGSv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__FLAGS().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_BOOLEAN__OBJECT_BOXED_BOXED">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9327,6 +9493,45 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_BOOL__BOXED_BOXED">
+<description>
+An old alias for g_cclosure_marshal_BOOLEAN__BOXED_BOXED().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> A #GClosure.
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
+</parameter_description>
+</parameter>
+<parameter name="n_param_values">
+<parameter_description> The length of the @param_values array.
+</parameter_description>
+</parameter>
+<parameter name="param_values">
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
+</parameter_description>
+</parameter>
+<parameter name="invocation_hint">
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_BOOL__FLAGS">
 <description>
 Another name for g_cclosure_marshal_BOOLEAN__FLAGS().
@@ -9373,6 +9578,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_STRING__OBJECT_POINTERv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_STRING__OBJECT_POINTER().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__BOOLEAN">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9409,6 +9657,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__BOOLEANv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOOLEAN().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__BOXED">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9445,6 +9736,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__BOXEDv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOXED().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__CHAR">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9481,6 +9815,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__CHARv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__CHAR().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__DOUBLE">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9517,6 +9894,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__DOUBLEv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__DOUBLE().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__ENUM">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9553,6 +9973,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__ENUMv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ENUM().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__FLAGS">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9589,6 +10052,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__FLAGSv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLAGS().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__FLOAT">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9625,6 +10131,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__FLOATv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLOAT().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__INT">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9661,6 +10210,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__INTv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__INT().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__LONG">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9697,6 +10289,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__LONGv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__LONG().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__OBJECT">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9733,6 +10368,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__OBJECTv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__OBJECT().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__PARAM">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9769,6 +10447,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__PARAMv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__PARAM().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__POINTER">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9805,6 +10526,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__POINTERv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__POINTER().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__STRING">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9841,6 +10605,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__STRINGv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__UCHAR">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9877,6 +10684,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__UCHARv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UCHAR().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__UINT">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9949,6 +10799,92 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__UINT_POINTERv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT_POINTER().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_cclosure_marshal_VOID__UINTv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__ULONG">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -9985,6 +10921,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__ULONGv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ULONG().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__VARIANT">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -10023,6 +11002,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__VARIANTv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VARIANT().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_VOID__VOID">
 <description>
 A marshaller for a #GCClosure with a callback of type
@@ -10059,6 +11081,49 @@ to g_closure_invoke()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_VOID__VOIDv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VOID().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_marshal_generic">
 <description>
 A generic marshaller function implemented via
@@ -10104,6 +11169,52 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
+<function name="g_cclosure_marshal_generic_va">
+<description>
+A generic #GVaClosureMarshal function implemented via
+[libffi](http://sourceware.org/libffi/).
+
+Since: 2.30
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args_list">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args_list.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_cclosure_new">
 <description>
 Creates a new closure which invokes @callback_func with @user_data as
@@ -16673,7 +17784,8 @@ freed.
 </description>
 <parameters>
 <parameter name="charset">
-<parameter_description> return location for character set name
+<parameter_description> return location for character set
+name, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
@@ -22373,7 +23485,8 @@ Gets the number of elements in a #GList.
 
 This function iterates over the whole list to count its elements.
 Use a #GQueue instead of a GList if you regularly need the number
-of items. 
+of items. To check whether the list is non-empty, it is faster to check
+@list against %NULL.
 
 
 </description>
@@ -26079,6 +27192,70 @@ already been locked by the same thread results in undefined behaviour
 <return></return>
 </function>
 
+<function name="g_mutex_locker_free">
+<description>
+Unlock @locker's mutex. See g_mutex_locker_new() for details.
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="locker">
+<parameter_description> a GMutexLocker
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_mutex_locker_new">
+<description>
+Lock @mutex and return a new #GMutexLocker. Unlock with
+g_mutex_locker_free(). Using g_mutex_unlock() on @mutex
+while a #GMutexLocker exists can lead to undefined behaviour.
+
+This is intended to be used with g_autoptr().  Note that g_autoptr()
+is only available when using GCC or clang, so the following example
+will only work with those compilers:
+|[
+typedef struct
+{
+...
+GMutex mutex;
+...
+} MyObject;
+
+static void
+my_object_do_stuff (MyObject *self)
+{
+g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&amp;self-&gt;mutex);
+
+// Code with mutex locked here
+
+if (cond)
+// No need to unlock
+return;
+
+// Optionally early unlock
+g_clear_pointer (&amp;locker, g_mutex_locker_free);
+
+// Code with mutex unlocked here
+}
+]|
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="mutex">
+<parameter_description> a mutex to lock
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GMutexLocker
+</return>
+</function>
+
 <function name="g_mutex_new">
 <description>
 Allocates and initializes a new #GMutex.
@@ -28918,10 +30095,8 @@ from open().
 <function name="g_option_context_add_group">
 <description>
 Adds a #GOptionGroup to the @context, so that parsing with @context
-will recognize the options in the group. Note that the group will
-be freed together with the context when g_option_context_free() is
-called, so you must not free the group yourself after adding it
-to a context.
+will recognize the options in the group. Note that this will take
+ownership of the @group and thus the @group should not be freed.
 
 Since: 2.6
 
@@ -29087,9 +30262,9 @@ Since: 2.6
 </parameter_description>
 </parameter>
 </parameters>
-<return> the main group of @context, or %NULL if @context doesn't
-have a main group. Note that group belongs to @context and should
-not be modified or freed.
+<return> the main group of @context, or %NULL if
+@context doesn't have a main group. Note that group belongs to
+@context and should not be modified or freed.
 
 </return>
 </function>
@@ -29518,6 +30693,8 @@ which have been added to a #GOptionContext.
 
 Since: 2.6
 
+Deprecated: 2.44: Use g_option_group_unref() instead.
+
 </description>
 <parameters>
 <parameter name="group">
@@ -29564,7 +30741,25 @@ the error hook and to callbacks of %G_OPTION_ARG_CALLBACK options, or %NULL
 </parameter>
 </parameters>
 <return> a newly created option group. It should be added
-to a #GOptionContext or freed with g_option_group_free().
+to a #GOptionContext or freed with g_option_group_unref().
+
+</return>
+</function>
+
+<function name="g_option_group_ref">
+<description>
+Increments the reference count of @group by one.
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="group">
+<parameter_description> a #GOptionGroup
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GoptionGroup
 
 </return>
 </function>
@@ -29677,24 +30872,22 @@ Since: 2.6
 <return></return>
 </function>
 
-<function name="g_param_get_default_value">
+<function name="g_option_group_unref">
 <description>
-Gets the default value of @param as a pointer to a #GValue.
+Decrements the reference count of @group by one.
+If the reference count drops to 0, the @group will be freed.
+and all memory allocated by the @group is released.
 
-The #GValue will remain value for the life of @param.
-
-Since: 2.38
+Since: 2.44
 
 </description>
 <parameters>
-<parameter name="param">
-<parameter_description> a #GParamSpec
+<parameter name="group">
+<parameter_description> a #GOptionGroup
 </parameter_description>
 </parameter>
 </parameters>
-<return> a pointer to a #GValue which must not be modified
-
-</return>
+<return></return>
 </function>
 
 <function name="g_param_spec_boolean">
@@ -29986,6 +31179,26 @@ Get the short description of a #GParamSpec.
 </return>
 </function>
 
+<function name="g_param_spec_get_default_value">
+<description>
+Gets the default value of @param as a pointer to a #GValue.
+
+The #GValue will remain value for the life of @param.
+
+Since: 2.38
+
+</description>
+<parameters>
+<parameter name="param">
+<parameter_description> a #GParamSpec
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to a #GValue which must not be modified
+
+</return>
+</function>
+
 <function name="g_param_spec_get_name">
 <description>
 Get the name of a #GParamSpec.
@@ -38719,6 +39932,33 @@ g_signal_add_emission_hook()
 <return></return>
 </function>
 
+<function name="g_signal_set_va_marshaller">
+<description>
+Change the #GSignalCVaMarshaller used for a given signal.  This is a
+specialised form of the marshaller that can often be used for the
+common case of a single connected signal handler and avoids the
+overhead of #GValue.  Its use is optional.
+
+Since: 2.32
+
+</description>
+<parameters>
+<parameter name="signal_id">
+<parameter_description> the signal id
+</parameter_description>
+</parameter>
+<parameter name="instance_type">
+<parameter_description> the instance type on which to set the marshaller.
+</parameter_description>
+</parameter>
+<parameter name="va_marshaller">
+<parameter_description> the marshaller to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_signal_stop_emission">
 <description>
 Stops a signal's current emission.
@@ -39523,7 +40763,8 @@ or %NULL if the #GSList has no elements
 Gets the number of elements in a #GSList.
 
 This function iterates over the whole list to
-count its elements.
+count its elements. To check whether the list is non-empty, it is faster to
+check @list against %NULL.
 
 
 </description>
@@ -41874,6 +43115,69 @@ Deprectated: 2.32: Use g_rw_lock_writer_unlock() instead
 <return></return>
 </function>
 
+<function name="g_steal_pointer">
+<description>
+Sets @pp to %NULL, returning the value that was there before.
+
+Conceptually, this transfers the ownership of the pointer from the
+referenced variable to the &quot;caller&quot; of the macro (ie: &quot;steals&quot; the
+reference).
+
+The return value will be properly typed, according to the type of
+@pp.
+
+This can be very useful when combined with g_autoptr() to prevent the
+return value of a function from being automatically freed.  Consider
+the following example (which only works on GCC and clang):
+
+|[
+GObject *
+create_object (void)
+{
+g_autoptr(GObject) obj = g_object_new (G_TYPE_OBJECT, NULL);
+
+if (early_error_case)
+return NULL;
+
+return g_steal_pointer (&amp;obj);
+}
+]|
+
+It can also be used in similar ways for 'out' parameters and is
+particularly useful for dealing with optional out parameters:
+
+|[
+gboolean
+get_object (GObject **obj_out)
+{
+g_autoptr(GObject) obj = g_object_new (G_TYPE_OBJECT, NULL);
+
+if (early_error_case)
+return FALSE;
+
+if (obj_out)
+*obj_out = g_steal_pointer (&amp;obj);
+
+return TRUE;
+}
+]|
+
+In the above example, the object will be automatically freed in the
+early error case and also in the case that %NULL was given for
+@obj_out.
+
+Since: 2.44
+
+</description>
+<parameters>
+<parameter name="pp">
+<parameter_description> a pointer to a pointer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_stpcpy">
 <description>
 Copies a nul-terminated string into the dest buffer, include the
@@ -44169,15 +45473,15 @@ Since: 2.16
 </description>
 <parameters>
 <parameter name="testpath">
-<parameter_description>   /-separated test case path name for the test.
+<parameter_description>  /-separated test case path name for the test.
 </parameter_description>
 </parameter>
 <parameter name="test_data">
-<parameter_description>  Test data argument for the test function.
+<parameter_description> Test data argument for the test function.
 </parameter_description>
 </parameter>
 <parameter name="test_func">
-<parameter_description>  The test function to invoke for this test.
+<parameter_description> The test function to invoke for this test.
 </parameter_description>
 </parameter>
 </parameters>
@@ -44229,7 +45533,7 @@ Since: 2.16
 </description>
 <parameters>
 <parameter name="testpath">
-<parameter_description>   /-separated test case path name for the test.
+<parameter_description>  /-separated test case path name for the test.
 </parameter_description>
 </parameter>
 <parameter name="test_func">
@@ -44382,11 +45686,11 @@ Since: 2.16
 </parameter_description>
 </parameter>
 <parameter name="data_setup">
-<parameter_description>    the function to set up the fixture data
+<parameter_description> the function to set up the fixture data
 </parameter_description>
 </parameter>
 <parameter name="data_test">
-<parameter_description>     the actual test function
+<parameter_description> the actual test function
 </parameter_description>
 </parameter>
 <parameter name="data_teardown">
@@ -54544,17 +55848,6 @@ the fixed array
 </return>
 </function>
 
-<function name="g_variant_get_gtype">
-<description>
-Since: 2.24
-Deprecated: 2.26
-
-</description>
-<parameters>
-</parameters>
-<return></return>
-</function>
-
 <function name="g_variant_get_handle">
 <description>
 Returns the 32-bit signed integer value of @value.
index f58dee7..2bbc290 100644 (file)
 
 ;; From glib-autocleanups.h
 
+(define-function g_autoptr_cleanup_generic_gfree
+  (c-name "g_autoptr_cleanup_generic_gfree")
+  (return-type "none")
+  (parameters
+    '("void*" "p")
+  )
+)
+
 
 
 ;; From glibconfig.h
index 60c3549..321bb66 100644 (file)
@@ -105,6 +105,9 @@ public:
   _WRAP_METHOD(void set_ignore_unknown_options(bool ignore_unknown = true), g_option_context_set_ignore_unknown_options)
   _WRAP_METHOD(bool get_ignore_unknown_options() const, g_option_context_get_ignore_unknown_options)
 
+  _WRAP_METHOD(void set_strict_posix(bool strict_posix = true), g_option_context_set_strict_posix)
+  _WRAP_METHOD(bool get_strict_posix() const, g_option_context_get_strict_posix)
+
 #m4 _CONVERSION(`char**&',`gchar***',`&($3)')
   _WRAP_METHOD(bool parse(int& argc, char**& argv), g_option_context_parse, errthrow)