summaryrefslogtreecommitdiffstats
path: root/devel/gobject-introspection
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2011-01-10 18:18:14 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2011-01-10 18:18:14 +0800
commit9d5332a90add2ad1cd34e5538a88cee5ad550abc (patch)
treeba900534db390e4627a8ccd5eb7022eceb59ba82 /devel/gobject-introspection
parentd92ef2725a21e515c7c3a8f32368708c2d7c6d46 (diff)
downloadmarcuscom-ports-9d5332a90add2ad1cd34e5538a88cee5ad550abc.tar
marcuscom-ports-9d5332a90add2ad1cd34e5538a88cee5ad550abc.tar.gz
marcuscom-ports-9d5332a90add2ad1cd34e5538a88cee5ad550abc.tar.bz2
marcuscom-ports-9d5332a90add2ad1cd34e5538a88cee5ad550abc.tar.lz
marcuscom-ports-9d5332a90add2ad1cd34e5538a88cee5ad550abc.tar.xz
marcuscom-ports-9d5332a90add2ad1cd34e5538a88cee5ad550abc.tar.zst
marcuscom-ports-9d5332a90add2ad1cd34e5538a88cee5ad550abc.zip
Add a patch from git.
This fixes the build with the new glib20. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@14984 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'devel/gobject-introspection')
-rw-r--r--devel/gobject-introspection/Makefile3
-rw-r--r--devel/gobject-introspection/files/patch-git2511
2 files changed, 2513 insertions, 1 deletions
diff --git a/devel/gobject-introspection/Makefile b/devel/gobject-introspection/Makefile
index 9ea900b8b..13f4df4c5 100644
--- a/devel/gobject-introspection/Makefile
+++ b/devel/gobject-introspection/Makefile
@@ -3,11 +3,12 @@
# Whom: Alexander Logvinov <avl@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/devel/gobject-introspection/Makefile,v 1.26 2010/10/07 10:28:00 kwm Exp $
+# $MCom: ports/devel/gobject-introspection/Makefile,v 1.28 2010/12/23 23:55:07 kwm Exp $
#
PORTNAME= gobject-introspection
PORTVERSION= 0.10.0
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
diff --git a/devel/gobject-introspection/files/patch-git b/devel/gobject-introspection/files/patch-git
new file mode 100644
index 000000000..87d670bc1
--- /dev/null
+++ b/devel/gobject-introspection/files/patch-git
@@ -0,0 +1,2511 @@
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/gir/gio-2.0.c gobject-introspection/gir/gio-2.0.c
+--- work/gobject-introspection-0.10.0/gir/gio-2.0.c 2010-12-21 17:47:12.000000000 +0000
++++ gir/gio-2.0.c 2011-01-10 10:58:29.000000000 +0000
+@@ -608,7 +608,7 @@
+ * g_resolver_lookup_by_address:
+ * @resolver: a #GResolver
+ * @address: the address to reverse-resolve
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: return location for a #GError, or %NULL
+ *
+ * Synchronously reverse-resolves @address to determine its
+@@ -967,9 +967,9 @@
+
+ /**
+ * g_memory_input_stream_new_from_data:
+- * @data: input data
++ * @data: (array length=len) (element-type guint8): input data
+ * @len: length of the data, may be -1 if @data is a nul-terminated string
+- * @destroy: function that is called to free @data, or %NULL
++ * @destroy: (allow-none): function that is called to free @data, or %NULL
+ *
+ * Creates a new #GMemoryInputStream with data in memory of a given size.
+ *
+@@ -1084,7 +1084,7 @@
+
+
+ /**
+- * g_inet_address_to_bytes:
++ * g_inet_address_to_bytes: (skip)
+ * @address: a #GInetAddress
+ *
+ * Gets the raw binary address data from @address.
+@@ -1269,9 +1269,9 @@
+ * @service: the service type to look up (eg, "ldap")
+ * @protocol: the networking protocol to use for @service (eg, "tcp")
+ * @domain: the DNS domain to look up the service in
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: callback to call after resolution completes
+- * @user_data: data for @callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): callback to call after resolution completes
++ * @user_data: (closure): data for @callback
+ *
+ * Begins asynchronously performing a DNS SRV lookup for the given
+ * get the final result. See g_resolver_lookup_service() for more
+@@ -1285,7 +1285,7 @@
+ * g_proxy_resolver_lookup:
+ * @resolver: a #GProxyResolver
+ * @uri: a URI representing the destination to connect to
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: return location for a #GError, or %NULL
+ *
+ * Looks into the system proxy configuration to determine what proxy,
+@@ -1301,9 +1301,10 @@
+ * <literal>direct://</literal> is used when no proxy is needed.
+ * Direct connection should not be attempted unless it is part of the
+ * returned array of proxies.
+- * g_strfreev().
++ * NULL-terminated array of proxy URIs. Must be freed
++ * with g_strfreev().
+ *
+- * Returns: (transfer full) (element-type utf8): A NULL-terminated array of proxy URIs. Must be freed with
++ * Returns: (transfer full) (array zero-terminated=1): A
+ * Since: 2.26
+ */
+
+@@ -1447,7 +1448,7 @@
+ * @seekable: a #GSeekable.
+ * @offset: a #goffset.
+ * @type: a #GSeekType.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: a #GError location to store the error occuring, or %NULL to ignore.
+ *
+ * Seeks in the stream by the given @offset, modified by @type.
+@@ -1593,7 +1594,7 @@
+ * g_socket_client_connect:
+ * @client: a #GSocketClient.
+ * @connectable: a #GSocketConnectable specifying the remote address.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Tries to resolve the @connectable and make a network connection to it..
+@@ -1952,10 +1953,10 @@
+
+
+ /**
+- * g_socket_create_source:
++ * g_socket_create_source: (skip)
+ * @socket: a #GSocket
+ * @condition: a #GIOCondition mask to monitor
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ *
+ * Creates a %GSource that can be attached to a %GMainContext to monitor
+ * for the availibility of the specified @condition on the socket.
+@@ -2427,9 +2428,9 @@
+ * @emblem: a #GEmblem from which the icon should be extracted.
+ *
+ * Gives back the icon from @emblem.
+- * and should not be modified or freed.
++ * the emblem and should not be modified or freed.
+ *
+- * Returns: (transfer full): a #GIcon. The returned object belongs to the emblem
++ * Returns: (transfer none): a #GIcon. The returned object belongs to
+ * Since: 2.18
+ */
+
+@@ -2676,7 +2677,7 @@
+
+
+ /**
+- * GMemoryOutputStream:realloc-function:
++ * GMemoryOutputStream:realloc-function: (skip)
+ *
+ * Function with realloc semantics called to enlarge the buffer.
+ *
+@@ -2813,9 +2814,9 @@
+ * g_socket_send_to:
+ * @socket: a #GSocket
+ * @address: a #GSocketAddress, or %NULL
+- * @buffer: the buffer containing the data to send.
++ * @buffer: (array length=size): the buffer containing the data to send.
+ * @size: the number of bytes to send
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Tries to send @size bytes from @buffer to @address. If @address is
+@@ -3600,7 +3601,7 @@
+ /**
+ * g_unix_fd_list_peek_fds:
+ * @list: a #GUnixFDList
+- * @length: pointer to the length of the returned array, or %NULL
++ * @length: (out) (allow-none): pointer to the length of the returned array, or %NULL
+ *
+ * Returns the array of file descriptors that is contained in this
+ * object.
+@@ -3612,8 +3613,9 @@
+ * terminated with -1.
+ * This function never returns %NULL. In case there are no file
+ * descriptors contained in @list, an empty array is returned.
++ * descriptors
+ *
+- * Returns: an array of file descriptors
++ * Returns: (array length=length) (transfer none): an array of file
+ * Since: 2.24
+ */
+
+@@ -3716,6 +3718,9 @@
+ * Gets a list of recommended #GAppInfos for a given content type, i.e.
+ * those applications which claim to support the given content type exactly,
+ * and not by MIME type subclassing.
++ * Note that the first application of the list is the last used one, i.e.
++ * the last one for which #g_app_info_set_as_last_used_for_type has been
++ * called.
+ * for given @content_type or %NULL on error.
+ *
+ * Returns: (element-type GAppInfo) (transfer full): #GList of #GAppInfos
+@@ -3781,7 +3786,7 @@
+ * of the URI, up to but not including the ':', e.g. "http",
+ * "ftp" or "sip".
+ *
+- * Returns: #GAppInfo for given @uri_scheme or %NULL on error.
++ * Returns: (transfer full): #GAppInfo for given @uri_scheme or %NULL on error.
+ */
+
+
+@@ -3809,7 +3814,7 @@
+ * g_socket_listener_accept:
+ * @listener: a #GSocketListener
+ * @source_object: (out) (transfer none) (allow-none): location where #GObject pointer will be stored, or %NULL
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Blocks waiting for a client to connect to any of the sockets added
+@@ -3924,9 +3929,9 @@
+ * @emblemed: a #GEmblemedIcon
+ *
+ * Gets the list of emblems for the @icon.
+- * is owned by @emblemed
++ * #GEmblem <!-- -->s that is owned by @emblemed
+ *
+- * Returns: (element-type utf8) (transfer none): a #GList of #GEmblem <!-- -->s that
++ * Returns: (element-type Gio.Emblem) (transfer none): a #GList of
+ * Since: 2.18
+ */
+
+@@ -4736,9 +4741,9 @@
+ * @proxy: a #GProxy
+ * @connection: a #GIOStream
+ * @proxy_address: a #GProxyAddress
+- * @cancellable: a #GCancellable
+- * @callback: a #GAsyncReadyCallback
+- * @user_data: callback data
++ * @cancellable: (allow-none): a #GCancellable
++ * @callback: (scope async): a #GAsyncReadyCallback
++ * @user_data: (closure): callback data
+ *
+ * Asynchronous version of g_proxy_connect().
+ *
+@@ -4747,12 +4752,22 @@
+
+
+ /**
++ * GSettings:delay-apply:
++ *
++ * Whether the #GSettings object is in 'delay-apply' mode. See
++ * g_settings_delay() for details.
++ *
++ * Since: 2.28
++ */
++
++
++/**
+ * g_resolver_lookup_service:
+ * @resolver: a #GResolver
+ * @service: the service type to look up (eg, "ldap")
+ * @protocol: the networking protocol to use for @service (eg, "tcp")
+ * @domain: the DNS domain to look up the service in
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: return location for a #GError, or %NULL
+ *
+ * Synchronously performs a DNS SRV lookup for the given @service and
+@@ -5045,7 +5060,7 @@
+ * @address: a pointer to a #GSocketAddress pointer, or %NULL
+ * @buffer: a buffer to read data into (which should be at least @size bytes long).
+ * @size: the number of bytes you want to read from the socket
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Receive data (up to @size bytes) from a socket.
+@@ -5378,6 +5393,24 @@
+
+
+ /**
++ * g_settings_list_schemas:
++ *
++ * Gets a list of the #GSettings schemas installed on the system. The
++ * returned list is exactly the list of schemas for which you may call
++ * g_settings_new() without adverse effects.
++ * This function does not list the schemas that do not provide their own
++ * g_settings_new_with_path()). See
++ * g_settings_list_relocatable_schemas() for that.
++ * schemas that are available. The list must not be modified or
++ * freed.
++ *
++ * Paths (ie: schemas for which you must use
++ * Returns: (element-type utf8) (transfer none): a list of #GSettings
++ * Since: 2.26
++ */
++
++
++/**
+ * g_file_load_contents:
+ * @file: input #GFile.
+ * @cancellable: optional #GCancellable object, %NULL to ignore.
+@@ -5571,7 +5604,7 @@
+ * g_socket_listener_accept_socket:
+ * @listener: a #GSocketListener
+ * @source_object: (out) (transfer none) (allow-none): location where #GObject pointer will be stored, or %NULL.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Blocks waiting for a client to connect to any of the sockets added
+@@ -5888,8 +5921,9 @@
+ * If your application or library provides one or more #GIcon
+ * implementations you need to ensure that each #GType is registered
+ * with the type system prior to calling g_icon_new_for_string().
++ * interface or %NULL if @error is set.
+ *
+- * Returns: An object implementing the #GIcon interface or %NULL if
++ * Returns: (transfer full): An object implementing the #GIcon
+ * Since: 2.20
+ */
+
+@@ -6166,7 +6200,7 @@
+ * @level: a socket level
+ * @type: a socket control message type for the given @level
+ * @size: the size of the data in bytes
+- * @data: pointer to the message data
++ * @data: (array length=size) (element-type guint8): pointer to the message data
+ *
+ * Tries to deserialize a socket control message of a given
+ * of #GSocketControlMessage if they can understand this kind
+@@ -6614,7 +6648,7 @@
+ /**
+ * g_file_enumerator_close:
+ * @enumerator: a #GFileEnumerator.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: location to store the error occuring, or %NULL to ignore
+ *
+ * Releases all resources used by this enumerator, making the
+@@ -6640,20 +6674,9 @@
+
+
+ /**
+- * g_file_io_stream_query_info_async:
+- * @stream: a #GFileIOStream.
+- * @attributes: a file attribute query string.
+- * @io_priority: the <link linkend="gio-GIOScheduler">I/O priority</link> of the request.
+- * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+- * @callback: (scope async): callback to call when the request is satisfied
+- * @user_data: (closure): the data to pass to callback function
+- *
+- * Asynchronously queries the @stream for a #GFileInfo. When completed,
+- * finish the operation with g_file_io_stream_query_info_finish().
+- * For the synchronous version of this function, see
+- * g_file_io_stream_query_info().
++ * GThemedIcon:names:
+ *
+- * Since: 2.22
++ * A %NULL-terminated array of icon names.
+ */
+
+
+@@ -6665,14 +6688,14 @@
+
+
+ /**
+- * g_memory_output_stream_get_data: (skip)
++ * g_memory_output_stream_get_data:
+ * @ostream: a #GMemoryOutputStream
+ *
+ * Gets any loaded data from the @ostream.
+ * Note that the returned pointer may become invalid on the next
+ * write or truncate operation on the stream.
+ *
+- * Returns: pointer to the stream's data
++ * Returns: (transfer none): pointer to the stream's data
+ */
+
+
+@@ -6783,7 +6806,7 @@
+ * @client: a #GSocketClient
+ * @uri: A network URI
+ * @default_port: the default port to connect to
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: a pointer to a #GError, or %NULL
+ *
+ * This is a helper function for g_socket_client_connect().
+@@ -6976,8 +6999,9 @@
+ * @must_support_uris: if %TRUE, the #GAppInfo is expected to support URIs
+ *
+ * Gets the #GAppInfo that corresponds to a given content type.
++ * %NULL on error.
+ *
+- * Returns: #GAppInfo for given @content_type or %NULL on error.
++ * Returns: (transfer full): #GAppInfo for given @content_type or
+ */
+
+
+@@ -7070,7 +7094,7 @@
+ * @address: a #GSocketAddress
+ * @type: a #GSocketType
+ * @protocol: a #GSocketProtocol
+- * @source_object: Optional #GObject identifying this source
++ * @source_object: (allow-none): Optional #GObject identifying this source
+ * @effective_address: (out) (allow-none): location to store the address that was bound to, or %NULL.
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+@@ -7462,9 +7486,20 @@
+
+
+ /**
+- * GThemedIcon:names:
++ * g_file_io_stream_query_info_async:
++ * @stream: a #GFileIOStream.
++ * @attributes: a file attribute query string.
++ * @io_priority: the <link linkend="gio-GIOScheduler">I/O priority</link> of the request.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
++ * @callback: (scope async): callback to call when the request is satisfied
++ * @user_data: (closure): the data to pass to callback function
+ *
+- * A %NULL-terminated array of icon names.
++ * Asynchronously queries the @stream for a #GFileInfo. When completed,
++ * finish the operation with g_file_io_stream_query_info_finish().
++ * For the synchronous version of this function, see
++ * g_file_io_stream_query_info().
++ *
++ * Since: 2.22
+ */
+
+
+@@ -7628,7 +7663,7 @@
+
+
+ /**
+- * g_memory_output_stream_new:
++ * g_memory_output_stream_new: (skip)
+ * @data: pointer to a chunk of memory to use, or %NULL
+ * @size: the size of @data
+ * @realloc_function: a function with realloc() semantics (like g_realloc()) to be called when @data needs to be grown, or %NULL
+@@ -8045,8 +8080,8 @@
+ * g_loadable_icon_load:
+ * @icon: a #GLoadableIcon.
+ * @size: an integer.
+- * @type: a location to store the type of the loaded icon, %NULL to ignore.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @type: (out) (allow-none): a location to store the type of the loaded icon, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: a #GError location to store the error occuring, or %NULL to ignore.
+ *
+ * Loads a loadable icon. For the asynchronous version of this function,
+@@ -8077,9 +8112,9 @@
+ * @client: a #GSocketClient
+ * @uri: a network uri
+ * @default_port: the default port to connect to
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: a #GAsyncReadyCallback
+- * @user_data: user data for the callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): a #GAsyncReadyCallback
++ * @user_data: (closure): user data for the callback
+ *
+ * This is the asynchronous version of g_socket_client_connect_to_uri().
+ * When the operation is finished @callback will be
+@@ -8684,7 +8719,7 @@
+ *
+ * Gets the origin of the emblem.
+ *
+- * Returns: the origin of the emblem
++ * Returns: (transfer none): the origin of the emblem
+ * Since: 2.18
+ */
+
+@@ -8941,6 +8976,18 @@
+
+
+ /**
++ * GDesktopAppLaunchCallback:
++ * @appinfo: a #GDesktopAppInfo
++ * @pid: Process identifier
++ * @user_data: User data
++ *
++ * During invocation, g_desktop_app_info_launch_uris_as_manager() may
++ * create one or more child processes. This callback is invoked once
++ * for each, providing the process ID.
++ */
++
++
++/**
+ * g_settings_set_flags:
+ * @settings: a #GSettings object
+ * @key: a key, within @settings
+@@ -9426,7 +9473,7 @@
+
+
+ /**
+- * g_cancellable_source_new:
++ * g_cancellable_source_new: (skip)
+ * @cancellable: a #GCancellable, or %NULL
+ *
+ * Creates a source that triggers if @cancellable is cancelled and
+@@ -9436,7 +9483,7 @@
+ * For convenience, you can call this with a %NULL #GCancellable,
+ * in which case the source will never trigger.
+ *
+- * Returns: the new #GSource.
++ * Returns: (transfer full): the new #GSource.
+ * Since: 2.28
+ */
+
+@@ -9564,9 +9611,9 @@
+ /**
+ * g_pollable_output_stream_write_nonblocking:
+ * @stream: a #GPollableOutputStream
+- * @buffer: a buffer to write data from
++ * @buffer: (array length=size) (element-type guint8): a buffer to write data from
+ * @size: the number of bytes you want to write
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Attempts to write up to @size bytes from @buffer to @stream, as
+@@ -9581,6 +9628,7 @@
+ * to having been cancelled.
+ * %G_IO_ERROR_WOULD_BLOCK).
+ *
++ * Virtual: write_nonblocking
+ * Returns: the number of bytes written, or -1 on error (including
+ */
+
+@@ -9777,9 +9825,9 @@
+ /**
+ * g_socket_address_enumerator_next_async:
+ * @enumerator: a #GSocketAddressEnumerator
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
+- * @callback: a #GAsyncReadyCallback to call when the request is satisfied
+- * @user_data: the data to pass to callback function
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
++ * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
++ * @user_data: (closure): the data to pass to callback function
+ *
+ * Asynchronously retrieves the next #GSocketAddress from @enumerator
+ * and then calls @callback, which must call
+@@ -10500,7 +10548,7 @@
+ * g_socket_condition_wait:
+ * @socket: a #GSocket
+ * @condition: a #GIOCondition mask to wait for
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: a #GError pointer, or %NULL
+ *
+ * Waits for @condition to become true on @socket. When the condition
+@@ -10550,9 +10598,9 @@
+ * @client: a #GSocketClient
+ * @domain: a domain name
+ * @service: the name of the service to connect to
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: a #GAsyncReadyCallback
+- * @user_data: user data for the callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): a #GAsyncReadyCallback
++ * @user_data: (closure): user data for the callback
+ *
+ * This is the asynchronous version of
+ * g_socket_client_connect_to_service().
+@@ -10599,7 +10647,7 @@
+ * @client: a #GSocketConnection
+ * @domain: a domain name
+ * @service: the name of the service to connect to
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: a pointer to a #GError, or %NULL
+ * @returns: (transfer full): a #GSocketConnection if successful, or %NULL on error
+ *
+@@ -10729,9 +10777,9 @@
+ * g_resolver_lookup_by_name_async:
+ * @resolver: a #GResolver
+ * @hostname: the hostname to look up the address of
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: callback to call after resolution completes
+- * @user_data: data for @callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): callback to call after resolution completes
++ * @user_data: (closure): data for @callback
+ *
+ * Begins asynchronously resolving @hostname to determine its
+ * associated IP address(es), and eventually calls @callback, which
+@@ -10974,7 +11022,7 @@
+ * @proxy: a #GProxy
+ * @connection: a #GIOStream
+ * @proxy_address: a #GProxyAddress
+- * @cancellable: a #GCancellable
++ * @cancellable: (allow-none): a #GCancellable
+ * @error: return #GError
+ *
+ * Given @connection to communicate with a proxy (eg, a
+@@ -11178,7 +11226,7 @@
+
+
+ /**
+- * GMemoryOutputStream:destroy-function:
++ * GMemoryOutputStream:destroy-function: (skip)
+ *
+ * Function called with the buffer as argument when the stream is destroyed.
+ *
+@@ -11697,13 +11745,13 @@
+ /**
+ * g_converter_convert:
+ * @converter: a #GConverter.
+- * @inbuf: the buffer containing the data to convert.
++ * @inbuf: (array length=inbuf_size) (element-type guint8): the buffer containing the data to convert.
+ * @inbuf_size: the number of bytes in @inbuf
+ * @outbuf: a buffer to write converted data in.
+ * @outbuf_size: the number of bytes in @outbuf, must be at least one
+ * @flags: a #GConvertFlags controlling the conversion details
+- * @bytes_read: will be set to the number of bytes read from @inbuf on success
+- * @bytes_written: will be set to the number of bytes written to @outbuf on success
++ * @bytes_read: (out): will be set to the number of bytes read from @inbuf on success
++ * @bytes_written: (out): will be set to the number of bytes written to @outbuf on success
+ * @error: location to store the error occuring, or %NULL to ignore
+ *
+ * This is the main operation used when converting data. It is to be called
+@@ -11875,7 +11923,7 @@
+ * @client: a #GSocketClient
+ * @host_and_port: the name and optionally port of the host to connect to
+ * @default_port: the default port to connect to
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: a pointer to a #GError, or %NULL
+ *
+ * This is a helper function for g_socket_client_connect().
+@@ -12468,7 +12516,7 @@
+ * g_memory_output_stream_get_size:
+ * @ostream: a #GMemoryOutputStream
+ *
+- * Gets the size of the currently allocated data area (availible from
++ * Gets the size of the currently allocated data area (available from
+ * g_memory_output_stream_get_data()). If the stream isn't
+ * growable (no realloc was passed to g_memory_output_stream_new()) then
+ * this is the maximum size of the stream and further writes
+@@ -13126,7 +13174,7 @@
+ /**
+ * g_unix_connection_receive_credentials:
+ * @connection: A #GUnixConnection.
+- * @cancellable: A #GCancellable or %NULL.
++ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @error: Return location for error or %NULL.
+ *
+ * Receives credentials from the sending end of the connection. The
+@@ -13153,9 +13201,10 @@
+ * Call this function to obtain the array of proxy URIs when
+ * g_proxy_resolver_lookup_async() is complete. See
+ * g_proxy_resolver_lookup() for more details.
+- * g_strfreev().
++ * NULL-terminated array of proxy URIs. Must be freed
++ * with g_strfreev().
+ *
+- * Returns: (transfer full) (element-type utf8): A NULL-terminated array of proxy URIs. Must be freed with
++ * Returns: (transfer full) (array zero-terminated=1): A
+ * Since: 2.26
+ */
+
+@@ -13175,9 +13224,9 @@
+ * g_socket_client_connect_async:
+ * @client: a #GTcpClient
+ * @connectable: a #GSocketConnectable specifying the remote address.
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: a #GAsyncReadyCallback
+- * @user_data: user data for the callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): a #GAsyncReadyCallback
++ * @user_data: (closure): user data for the callback
+ *
+ * This is the asynchronous version of g_socket_client_connect().
+ * When the operation is finished @callback will be
+@@ -13495,20 +13544,27 @@
+
+
+ /**
+- * g_settings_list_schemas:
+- *
+- * Gets a list of the #GSettings schemas installed on the system. The
+- * returned list is exactly the list of schemas for which you may call
+- * g_settings_new() without adverse effects.
+- * This function does not list the schemas that do not provide their own
+- * g_settings_new_with_path()). See
+- * g_settings_list_relocatable_schemas() for that.
+- * schemas that are available. The list must not be modified or
+- * freed.
++ * g_desktop_app_info_launch_uris_as_manager:
++ * @appinfo: a #GDesktopAppInfo
++ * @uris: (element-type utf8): List of URIs
++ * @launch_context: a #GAppLaunchContext
++ * @spawn_flags: #GSpawnFlags, used for each process
++ * @user_setup: (scope call): a #GSpawnChildSetupFunc, used once for each process.
++ * @user_setup_data: (closure user_setup): User data for @user_setup
++ * @pid_callback: (scope call): Callback for child processes
++ * @pid_callback_data: (closure pid_callback): User data for @callback
++ * @error: a #GError
+ *
+- * Paths (ie: schemas for which you must use
+- * Returns: (element-type utf8) (transfer none): a list of #GSettings
+- * Since: 2.26
++ * This function performs the equivalent of g_app_info_launch_uris(),
++ * but is intended primarily for operating system components that
++ * launch applications. Ordinary applications should use
++ * g_app_info_launch_uris().
++ * In contrast to g_app_info_launch_uris(), all processes created will
++ * always be run directly as children as if by the UNIX fork()/exec()
++ * calls.
++ * This guarantee allows additional control over the exact environment
++ * of the child processes, which is provided via a setup function
++ * semantics of the @setup function.
+ */
+
+
+@@ -13692,6 +13748,17 @@
+
+
+ /**
++ * G_TYPE_FROM_INSTANCE:
++ * @instance: Location of a valid #GTypeInstance structure.
++ *
++ * Get the type identifier from a given @instance structure.
++ * This macro should only be used in type implementations.
++ *
++ * Returns: the #GType
++ */
++
++
++/**
+ * g_file_info_set_is_symlink:
+ * @info: a #GFileInfo.
+ * @is_symlink: a #gboolean.
+@@ -14169,7 +14236,7 @@
+ *
+ * Gets the main icon for @emblemed.
+ *
+- * Returns: (transfer full): a #GIcon that is owned by @emblemed
++ * Returns: (transfer none): a #GIcon that is owned by @emblemed
+ * Since: 2.18
+ */
+
+@@ -14299,8 +14366,9 @@
+ *
+ * Lookup "gio-proxy" extension point for a proxy implementation that supports
+ * specified protocol.
++ * is not supported.
+ *
+- * Returns: return a #GProxy or NULL if protocol is not supported.
++ * Returns: (transfer full): return a #GProxy or NULL if protocol
+ * Since: 2.26
+ */
+
+@@ -14488,7 +14556,7 @@
+ * g_socket_listener_accept_socket_finish:
+ * @listener: a #GSocketListener
+ * @result: a #GAsyncResult.
+- * @source_object: Optional #GObject identifying this source
++ * @source_object: (out) (transfer none) (allow-none): Optional #GObject identifying this source
+ * @error: a #GError location to store the error occuring, or %NULL to ignore.
+ *
+ * Finishes an async accept operation. See g_socket_listener_accept_socket_async()
+@@ -14848,7 +14916,7 @@
+ * @cancellable: a #GCancellable object
+ *
+ * Pushes @cancellable onto the cancellable stack. The current
+- * cancllable can then be recieved using g_cancellable_get_current().
++ * cancellable can then be recieved using g_cancellable_get_current().
+ * This is useful when implementing cancellable operations in
+ * code that does not allow you to pass down the cancellable object.
+ * This is typically called automatically by e.g. #GFile operations,
+@@ -15014,9 +15082,9 @@
+ * g_file_enumerator_close_async:
+ * @enumerator: a #GFileEnumerator.
+ * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
+- * @callback: a #GAsyncReadyCallback to call when the request is satisfied
+- * @user_data: the data to pass to callback function
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
++ * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
++ * @user_data: (closure): the data to pass to callback function
+ *
+ * Asynchronously closes the file enumerator.
+ * If @cancellable is not %NULL, then the operation can be cancelled by
+@@ -15182,12 +15250,12 @@
+ * g_socket_send_message:
+ * @socket: a #GSocket
+ * @address: a #GSocketAddress, or %NULL
+- * @vectors: an array of #GOutputVector structs
++ * @vectors: (array length=num_vectors): an array of #GOutputVector structs
+ * @num_vectors: the number of elements in @vectors, or -1
+- * @messages: a pointer to an array of #GSocketControlMessages, or %NULL.
++ * @messages: (array length=num_messages) (allow-none): a pointer to an array of #GSocketControlMessages, or %NULL.
+ * @num_messages: number of elements in @messages, or -1.
+ * @flags: an int containing #GSocketMsgFlags flags
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Send data to @address on @socket. This is the most complicated and
+@@ -15773,7 +15841,7 @@
+ * g_socket_listener_accept_finish:
+ * @listener: a #GSocketListener
+ * @result: a #GAsyncResult.
+- * @source_object: Optional #GObject identifying this source
++ * @source_object: (out) (transfer none) (allow-none): Optional #GObject identifying this source
+ * @error: a #GError location to store the error occuring, or %NULL to ignore.
+ *
+ * Finishes an async accept operation. See g_socket_listener_accept_async()
+@@ -16357,7 +16425,7 @@
+ * g_resolver_lookup_by_name:
+ * @resolver: a #GResolver
+ * @hostname: the hostname to look up
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: return location for a #GError, or %NULL
+ *
+ * Synchronously resolves @hostname to determine its associated IP
+@@ -16388,9 +16456,9 @@
+ /**
+ * g_socket_listener_accept_async:
+ * @listener: a #GSocketListener
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: a #GAsyncReadyCallback
+- * @user_data: user data for the callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): a #GAsyncReadyCallback
++ * @user_data: (closure): user data for the callback
+ *
+ * This is the asynchronous version of g_socket_listener_accept().
+ * When the operation is finished @callback will be
+@@ -16616,7 +16684,7 @@
+ * g_seekable_truncate:
+ * @seekable: a #GSeekable.
+ * @offset: a #goffset.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: a #GError location to store the error occuring, or %NULL to ignore.
+ *
+ * Truncates a stream with a given #offset.
+@@ -16698,9 +16766,9 @@
+ * @client: a #GTcpClient
+ * @host_and_port: the name and optionally the port of the host to connect to
+ * @default_port: the default port to connect to
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: a #GAsyncReadyCallback
+- * @user_data: user data for the callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): a #GAsyncReadyCallback
++ * @user_data: (closure): user data for the callback
+ *
+ * This is the asynchronous version of g_socket_client_connect_to_host().
+ * When the operation is finished @callback will be
+@@ -16752,7 +16820,7 @@
+
+ /**
+ * g_unix_fd_list_new_from_array:
+- * @fds: the initial list of file descriptors
++ * @fds: (array length=n_fds): the initial list of file descriptors
+ * @n_fds: the length of #fds, or -1
+ *
+ * Creates a new #GUnixFDList containing the file descriptors given in
+@@ -16770,9 +16838,9 @@
+ * g_loadable_icon_load_async:
+ * @icon: a #GLoadableIcon.
+ * @size: an integer.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
+- * @callback: a #GAsyncReadyCallback to call when the request is satisfied
+- * @user_data: the data to pass to callback function
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
++ * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
++ * @user_data: (closure): the data to pass to callback function
+ *
+ * Loads an icon asynchronously. To finish this function, see
+ * g_loadable_icon_load_finish(). For the synchronous, blocking
+@@ -17101,7 +17169,7 @@
+
+
+ /**
+- * g_pollable_source_new:
++ * g_pollable_source_new: (skip)
+ * @pollable_stream: the stream associated with the new source
+ *
+ * Utility method for #GPollableInputStream and #GPollableOutputStream
+@@ -17110,7 +17178,7 @@
+ * anything on its own; use g_source_add_child_source() to add other
+ * sources to it to cause it to trigger.
+ *
+- * Returns: the new #GSource.
++ * Returns: (transfer full): the new #GSource.
+ * Since: 2.28
+ */
+
+@@ -18311,9 +18379,9 @@
+ /**
+ * g_socket_listener_accept_socket_async:
+ * @listener: a #GSocketListener
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: a #GAsyncReadyCallback
+- * @user_data: user data for the callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): a #GAsyncReadyCallback
++ * @user_data: (closure): user data for the callback
+ *
+ * This is the asynchronous version of g_socket_listener_accept_socket().
+ * When the operation is finished @callback will be
+@@ -18426,7 +18494,7 @@
+ /**
+ * g_unix_fd_list_steal_fds:
+ * @list: a #GUnixFDList
+- * @length: pointer to the length of the returned array, or %NULL
++ * @length: (out) (allow-none): pointer to the length of the returned array, or %NULL
+ *
+ * Returns the array of file descriptors that is contained in this
+ * object.
+@@ -18441,8 +18509,9 @@
+ * terminated with -1.
+ * This function never returns %NULL. In case there are no file
+ * descriptors contained in @list, an empty array is returned.
++ * descriptors
+ *
+- * Returns: an array of file descriptors
++ * Returns: (array length=length) (transfer full): an array of file
+ * Since: 2.24
+ */
+
+@@ -19902,7 +19971,7 @@
+ * @socket: a #GSocket
+ * @buffer: a buffer to read data into (which should be at least @size bytes long).
+ * @size: the number of bytes you want to read from the socket
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Receive data (up to @size bytes) from a socket. This is mainly used by
+@@ -19947,7 +20016,7 @@
+ * g_socket_connect:
+ * @socket: a #GSocket.
+ * @address: a #GSocketAddress specifying the remote address.
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Connect the socket to the specified remote address.
+@@ -20349,9 +20418,9 @@
+ * g_resolver_lookup_by_address_async:
+ * @resolver: a #GResolver
+ * @address: the address to reverse-resolve
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: callback to call after resolution completes
+- * @user_data: data for @callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): callback to call after resolution completes
++ * @user_data: (closure): data for @callback
+ *
+ * Begins asynchronously reverse-resolving @address to determine its
+ * associated hostname, and eventually calls @callback, which must
+@@ -20431,7 +20500,7 @@
+ * g_socket_listener_add_socket:
+ * @listener: a #GSocketListener
+ * @socket: a listening #GSocket
+- * @source_object: Optional #GObject identifying this source
++ * @source_object: (allow-none): Optional #GObject identifying this source
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Adds @socket to the set of sockets that we try to accept
+@@ -21484,9 +21553,9 @@
+ /**
+ * g_memory_input_stream_add_data:
+ * @stream: a #GMemoryInputStream
+- * @data: input data
++ * @data: (array length=len) (element-type guint8): input data
+ * @len: length of the data, may be -1 if @data is a nul-terminated string
+- * @destroy: function that is called to free @data, or %NULL
++ * @destroy: (allow-none): function that is called to free @data, or %NULL
+ *
+ * Appends @data to data that can be read from the input stream
+ */
+@@ -22345,9 +22414,9 @@
+ /**
+ * g_socket_send:
+ * @socket: a #GSocket
+- * @buffer: the buffer containing the data to send.
++ * @buffer: (array length=size): the buffer containing the data to send.
+ * @size: the number of bytes to send
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Tries to send @size bytes from @buffer on the socket. This is
+@@ -23189,9 +23258,9 @@
+ * specification for more on x-content types.
+ * This function is useful in the implementation of
+ * g_mount_guess_content_type().
+- * or %NULL. Free with g_strfreev()
++ * array of zero or more content types, or %NULL. Free with g_strfreev()
+ *
+- * Returns: (transfer full): an %NULL-terminated array of zero or more content types,
++ * Returns: (transfer full) (array zero-terminated=1): an %NULL-terminated
+ * Since: 2.18
+ */
+
+@@ -23419,7 +23488,7 @@
+ /**
+ * g_app_info_launch_uris:
+ * @appinfo: a #GAppInfo
+- * @uris: (element-type char*): a #GList containing URIs to launch.
++ * @uris: (element-type utf8): a #GList containing URIs to launch.
+ * @launch_context: (allow-none): a #GAppLaunchContext or %NULL
+ * @error: a #GError
+ *
+@@ -23481,13 +23550,17 @@
+
+
+ /**
+- * G_TYPE_FROM_INSTANCE:
+- * @instance: Location of a valid #GTypeInstance structure.
++ * g_app_info_set_as_last_used_for_type:
++ * @appinfo: a #GAppInfo.
++ * @content_type: the content type.
++ * @error: a #GError.
+ *
+- * Get the type identifier from a given @instance structure.
+- * This macro should only be used in type implementations.
++ * Sets the application as the last used application for a given type.
++ * This will make the application appear as first in the list returned by
++ * #g_app_info_get_recommended_for_type, regardless of the default application
++ * for that content type.
+ *
+- * Returns: the #GType
++ * Returns: %TRUE on success, %FALSE on error.
+ */
+
+
+@@ -23508,7 +23581,7 @@
+
+ /**
+ * g_themed_icon_new_from_names:
+- * @iconnames: an array of strings containing icon names.
++ * @iconnames: (array length=len): an array of strings containing icon names.
+ * @len: the length of the @iconnames array, or -1 if @iconnames is %NULL-terminated
+ *
+ * Creates a new themed icon for @iconnames.
+@@ -23572,7 +23645,7 @@
+ /**
+ * g_socket_accept:
+ * @socket: a #GSocket.
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Accept incoming connections on a connection-based socket. This removes
+@@ -23906,9 +23979,9 @@
+
+
+ /**
+- * g_pollable_output_stream_create_source:
++ * g_pollable_output_stream_create_source: (skip)
+ * @stream: a #GPollableOutputStream.
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ *
+ * Creates a #GSource that triggers when @stream can be written, or
+ * source is of the #GPollableSourceFunc type.
+@@ -23917,7 +23990,7 @@
+ * triggers, so you should use g_pollable_output_stream_write_nonblocking()
+ * rather than g_output_stream_write() from the callback.
+ *
+- * Returns: a new #GSource
++ * Returns: (transfer full): a new #GSource
+ * Since: 2.28
+ */
+
+@@ -24038,9 +24111,9 @@
+ * @enumerator: a #GFileEnumerator.
+ * @num_files: the number of file info objects to request
+ * @io_priority: the <link linkend="gioscheduler">io priority</link> of the request.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
+- * @callback: a #GAsyncReadyCallback to call when the request is satisfied
+- * @user_data: the data to pass to callback function
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
++ * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
++ * @user_data: (closure): the data to pass to callback function
+ *
+ * Request information for a number of files from the enumerator asynchronously.
+ * When all i/o for the operation is finished the @callback will be called with
+@@ -24690,10 +24763,10 @@
+ /**
+ * g_socket_send_with_blocking:
+ * @socket: a #GSocket
+- * @buffer: the buffer containing the data to send.
++ * @buffer: (array length=size): the buffer containing the data to send.
+ * @size: the number of bytes to send
+ * @blocking: whether to do blocking or non-blocking I/O
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * This behaves exactly the same as g_socket_send(), except that
+@@ -25048,7 +25121,7 @@
+ /**
+ * g_socket_address_enumerator_next:
+ * @enumerator: a #GSocketAddressEnumerator
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: a #GError.
+ *
+ * Retrieves the next #GSocketAddress from @enumerator. Note that this
+@@ -26094,7 +26167,7 @@
+ /**
+ * g_app_info_launch_default_for_uri:
+ * @uri: the uri to show
+- * @launch_context: an optional #GAppLaunchContext.
++ * @launch_context: (allow-none): an optional #GAppLaunchContext.
+ * @error: a #GError.
+ *
+ * Utility function that launches the default application
+@@ -26312,7 +26385,7 @@
+ /**
+ * g_unix_fd_message_steal_fds:
+ * @message: a #GUnixFDMessage
+- * @length: pointer to the length of the returned array, or %NULL
++ * @length: (out) (allow-none): pointer to the length of the returned array, or %NULL
+ *
+ * Returns the array of file descriptors that is contained in this
+ * object.
+@@ -26326,8 +26399,9 @@
+ * terminated with -1.
+ * This function never returns %NULL. In case there are no file
+ * descriptors contained in @message, an empty array is returned.
++ * descriptors
+ *
+- * Returns: an array of file descriptors
++ * Returns: (array length=length) (transfer full): an array of file
+ * Since: 2.22
+ */
+
+@@ -26357,7 +26431,7 @@
+ /**
+ * g_file_enumerator_next_file:
+ * @enumerator: a #GFileEnumerator.
+- * @cancellable: optional #GCancellable object, %NULL to ignore.
++ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: location to store the error occuring, or %NULL to ignore
+ *
+ * Returns information for the next file in the enumerated object.
+@@ -26751,7 +26825,7 @@
+ /**
+ * g_unix_connection_send_credentials:
+ * @connection: A #GUnixConnection.
+- * @cancellable: A #GCancellable or %NULL.
++ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @error: Return location for error or %NULL.
+ *
+ * Passes the credentials of the current user the receiving side
+@@ -27622,7 +27696,7 @@
+ /**
+ * g_socket_listener_add_any_inet_port:
+ * @listener: a #GSocketListener
+- * @source_object: Optional #GObject identifying this source
++ * @source_object: (allow-none): Optional #GObject identifying this source
+ * @error: a #GError location to store the error occuring, or %NULL to ignore.
+ *
+ * Listens for TCP connections on any available port number for both
+@@ -27788,7 +27862,7 @@
+
+ /**
+ * g_simple_async_report_gerror_in_idle:
+- * @object: a #GObject.
++ * @object: (allow-none): a #GObject, or %NULL
+ * @callback: (scope async): a #GAsyncReadyCallback.
+ * @user_data: (closure): user data passed to @callback.
+ * @error: the #GError to report
+@@ -27921,7 +27995,7 @@
+
+ /**
+ * g_unix_socket_address_new_abstract:
+- * @path: the abstract name
++ * @path: (array length=path_len) (element-type gchar): the abstract name
+ * @path_len: the length of @path, or -1
+ *
+ * Creates a new %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
+@@ -28214,7 +28288,11 @@
+ * that the server will accept client certificates signed by. If the
+ * server requests a client certificate during the handshake, then
+ * this property will be set after the handshake completes.
++ * Each item in the list is a #GByteArray which contains the complete
++ * subject DN of the certificate authority.
+ *
++ * Type: GList<GByteArray>
++ * Transfer: full
+ * Since: 2.28
+ */
+
+@@ -28646,7 +28724,7 @@
+ * @stream: a #GPollableInputStream
+ * @buffer: a buffer to read data into (which should be at least @size bytes long).
+ * @size: the number of bytes you want to read
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Attempts to read up to @size bytes from @stream into @buffer, as
+@@ -28661,6 +28739,7 @@
+ * to having been cancelled.
+ * %G_IO_ERROR_WOULD_BLOCK).
+ *
++ * Virtual: read_nonblocking
+ * Returns: the number of bytes read, or -1 on error (including
+ */
+
+@@ -28999,7 +29078,7 @@
+ * Gets @address's #GInetAddress.
+ * g_object_ref()'d if it will be stored
+ *
+- * Returns: (transfer full): the #GInetAddress for @address, which must be
++ * Returns: (transfer none): the #GInetAddress for @address, which must be
+ * Since: 2.22
+ */
+
+@@ -29167,7 +29246,7 @@
+
+ /**
+ * g_unix_socket_address_new_with_type:
+- * @path: the name
++ * @path: (array length=path_len) (element-type gchar): the name
+ * @path_len: the length of @path, or -1
+ * @type: a #GUnixSocketAddressType
+ *
+@@ -29743,8 +29822,8 @@
+ * @protocol: The proxy protocol to support, in lower case (e.g. socks, http).
+ * @dest_hostname: The destination hostname the the proxy should tunnel to.
+ * @dest_port: The destination port to tunnel to.
+- * @username: The username to authenticate to the proxy server (or %NULL).
+- * @password: The password to authenticate to the proxy server (or %NULL).
++ * @username: (allow-none): The username to authenticate to the proxy server (or %NULL).
++ * @password: (allow-none): The password to authenticate to the proxy server (or %NULL).
+ *
+ * Creates a new #GProxyAddress for @inetaddr with @protocol that should
+ * tunnel through @dest_hostname and @dest_port.
+@@ -29787,7 +29866,7 @@
+ * @buffer: a buffer to read data into (which should be at least @size bytes long).
+ * @size: the number of bytes you want to read from the socket
+ * @blocking: whether to do blocking or non-blocking I/O
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * This behaves exactly the same as g_socket_receive(), except that
+@@ -30034,7 +30113,7 @@
+ * g_socket_listener_add_inet_port:
+ * @listener: a #GSocketListener
+ * @port: an IP port number (non-zero)
+- * @source_object: Optional #GObject identifying this source
++ * @source_object: (allow-none): Optional #GObject identifying this source
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Helper function for g_socket_listener_add_address() that
+@@ -30073,9 +30152,12 @@
+ * that the server will accept certificates from. This will be set
+ * during the TLS handshake if the server requests a certificate.
+ * Otherwise, it will be %NULL.
+- * of CA names, which you must free (eg, with g_strfreev()).
++ * Each item in the list is a #GByteArray which contains the complete
++ * subject DN of the certificate authority.
++ * CA DNs. You should unref each element with g_byte_array_unref() and then
++ * the free the list with g_list_free().
+ *
+- * Returns: (transfer full) (array zero-terminated=1): the list
++ * Returns: (element-type GByteArray) (transfer full): the list of
+ * Since: 2.28
+ */
+
+@@ -30098,9 +30180,9 @@
+ * g_proxy_resolver_lookup_async:
+ * @resolver: a #GProxyResolver
+ * @uri: a URI representing the destination to connect to
+- * @cancellable: a #GCancellable, or %NULL
+- * @callback: callback to call after resolution completes
+- * @user_data: data for @callback
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
++ * @callback: (scope async): callback to call after resolution completes
++ * @user_data: (closure): data for @callback
+ *
+ * Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more
+ * details.
+@@ -30668,9 +30750,9 @@
+
+
+ /**
+- * g_pollable_input_stream_create_source:
++ * g_pollable_input_stream_create_source: (skip)
+ * @stream: a #GPollableInputStream.
+- * @cancellable: a #GCancellable, or %NULL
++ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ *
+ * Creates a #GSource that triggers when @stream can be read, or
+ * source is of the #GPollableSourceFunc type.
+@@ -30679,7 +30761,7 @@
+ * triggers, so you should use g_pollable_input_stream_read_nonblocking()
+ * rather than g_input_stream_read() from the callback.
+ *
+- * Returns: a new #GSource
++ * Returns: (transfer full): a new #GSource
+ * Since: 2.28
+ */
+
+@@ -30819,12 +30901,12 @@
+ * g_socket_receive_message:
+ * @socket: a #GSocket
+ * @address: a pointer to a #GSocketAddress pointer, or %NULL
+- * @vectors: an array of #GInputVector structs
++ * @vectors: (array length=num_vectors): an array of #GInputVector structs
+ * @num_vectors: the number of elements in @vectors, or -1
+- * @messages: a pointer which may be filled with an array of #GSocketControlMessages, or %NULL
++ * @messages: (array length=num_messages) (allow-none): a pointer which may be filled with an array of #GSocketControlMessages, or %NULL
+ * @num_messages: a pointer which will be filled with the number of elements in @messages, or %NULL
+ * @flags: a pointer to an int containing #GSocketMsgFlags flags
+- * @cancellable: a %GCancellable or %NULL
++ * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @error: a #GError pointer, or %NULL
+ *
+ * Receive data from a socket. This is the most complicated and
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/gir/gobject-2.0.c gobject-introspection/gir/gobject-2.0.c
+--- work/gobject-introspection-0.10.0/gir/gobject-2.0.c 2010-12-20 19:28:43.000000000 +0000
++++ gir/gobject-2.0.c 2011-01-10 10:58:29.000000000 +0000
+@@ -22,7 +22,7 @@
+
+
+ /**
+- * g_type_remove_class_cache_func:
++ * g_type_remove_class_cache_func: (skip)
+ * @cache_data: data that was given when adding @cache_func
+ * @cache_func: a #GTypeClassCacheFunc
+ *
+@@ -322,7 +322,7 @@
+
+
+ /**
+- * g_type_create_instance:
++ * g_type_create_instance: (skip)
+ * @type: An instantiatable type to create an instance for.
+ *
+ * Creates and initializes an instance of @type if @type is valid and
+@@ -347,13 +347,14 @@
+ /**
+ * g_type_interface_prerequisites:
+ * @interface_type: an interface type
+- * @n_prerequisites: location to return the number of prerequisites, or %NULL
++ * @n_prerequisites: (out) (allow-none): location to return the number of prerequisites, or %NULL
+ *
+ * Returns the prerequisites of an interfaces type.
++ * newly-allocated zero-terminated array of #GType containing
+ * the prerequisites of @interface_type
+ *
+ * Since: 2.2
+- * Returns: a newly-allocated zero-terminated array of #GType containing
++ * Returns: (array length=n_prerequisites) (transfer full): a
+ */
+
+
+@@ -693,7 +694,7 @@
+
+
+ /**
+- * g_object_set_data_full:
++ * g_object_set_data_full: (skip)
+ * @object: #GObject containing the associations
+ * @key: name of the key
+ * @data: data to associate with that key
+@@ -773,8 +774,9 @@
+ *
+ * Get the contents of a %G_TYPE_OBJECT derived #GValue, increasing
+ * its reference count.
++ * should be unreferenced when no longer needed.
+ *
+- * Returns: (type GObject.Object) (transfer full): object content of
++ * Returns: (type GObject.Object) (transfer full): object content of @value,
+ */
+
+
+@@ -812,7 +814,7 @@
+
+
+ /**
+- * g_object_get_valist:
++ * g_object_get_valist: (skip)
+ * @object: a #GObject
+ * @first_property_name: name of the first property to get
+ * @var_args: return location for the first property, followed optionally by more name/return location pairs, followed by %NULL
+@@ -862,7 +864,7 @@
+
+
+ /**
+- * g_clear_object:
++ * g_clear_object: (skip)
+ * @object_ptr: a pointer to a #GObject reference
+ *
+ * Clears a reference to a #GObject.
+@@ -897,7 +899,7 @@
+
+
+ /**
+- * g_object_set:
++ * g_object_set: (skip)
+ * @object: a #GObject
+ * @first_property_name: name of the first property to set
+ * @...: value for the first property, followed optionally by more name/value pairs, followed by %NULL
+@@ -918,7 +920,7 @@
+
+ /**
+ * g_object_is_floating:
+- * @object: a #GObject
++ * @object: (type GObject.Object): a #GObject
+ *
+ * Checks wether @object has a <link linkend="floating-ref">floating</link>
+ * reference.
+@@ -962,8 +964,9 @@
+ *
+ * Increments the reference count of the class structure belonging to
+ * exist already.
++ * structure for the given type ID.
+ *
+- * Returns: The #GTypeClass structure for the given type ID.
++ * Returns: (type GObject.TypeClass) (transfer none): The #GTypeClass
+ */
+
+
+@@ -1007,16 +1010,17 @@
+
+ /**
+ * g_type_interface_peek_parent:
+- * @g_iface: A #GTypeInterface structure.
++ * @g_iface: (type GObject.TypeInterface): A #GTypeInterface structure.
+ *
+ * Returns the corresponding #GTypeInterface structure of the parent type
+ * of the instance type to which @g_iface belongs. This is useful when
+ * deriving the implementation of an interface from the parent type and
+ * then possibly overriding some methods.
+- * type of the instance type to which @g_iface belongs, or
+- * %NULL if the parent type doesn't conform to the interface.
++ * corresponding #GTypeInterface structure of the parent type of the
++ * instance type to which @g_iface belongs, or %NULL if the parent
++ * type doesn't conform to the interface.
+ *
+- * Returns: The corresponding #GTypeInterface structure of the parent
++ * Returns: (transfer none) (type GObject.TypeInterface): The
+ */
+
+
+@@ -1119,7 +1123,7 @@
+
+
+ /**
+- * g_object_new:
++ * g_object_new: (skip)
+ * @object_type: the type id of the #GObject subtype to instantiate
+ * @first_property_name: the name of the first property
+ * @...: the value of the first property, followed optionally by more name/value pairs, followed by %NULL
+@@ -1128,7 +1132,7 @@
+ * Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
+ * which are not explicitly specified are set to their default values.
+ *
+- * Returns: a new instance of @object_type
++ * Returns: (transfer full): a new instance of @object_type
+ */
+
+
+@@ -1173,12 +1177,13 @@
+ /**
+ * g_type_children:
+ * @type: The parent type.
+- * @n_children: Optional #guint pointer to contain the number of child types.
++ * @n_children: (out) (allow-none): Optional #guint pointer to contain the number of child types.
+ *
+ * Return a newly allocated and 0-terminated array of type IDs, listing the
+ * child types of @type. The return value has to be g_free()ed after use.
++ * and 0-terminated array of child types.
+ *
+- * Returns: Newly allocated and 0-terminated array of child types.
++ * Returns: (array length=n_children) (transfer full): Newly allocated
+ */
+
+
+@@ -1212,7 +1217,7 @@
+
+ /**
+ * g_type_default_interface_unref:
+- * @g_iface: the default vtable structure for a interface, as returned by g_type_default_interface_ref()
++ * @g_iface: (type GObject.TypeInterface): the default vtable structure for a interface, as returned by g_type_default_interface_ref()
+ *
+ * Decrements the reference count for the type corresponding to the
+ * interface default vtable @g_iface. If the type is dynamic, then
+@@ -1235,7 +1240,7 @@
+
+
+ /**
+- * g_param_spec_int64:
++ * g_param_spec_int64: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -1587,7 +1592,7 @@
+ * A variant of g_closure_new_simple() which stores @object in the
+ * when implementing new types of closures.
+ *
+- * Returns: a newly allocated #GClosure
++ * Returns: (transfer full): a newly allocated #GClosure
+ */
+
+
+@@ -1736,7 +1741,7 @@
+
+
+ /**
+- * g_param_spec_param:
++ * g_param_spec_param: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -1752,7 +1757,7 @@
+
+
+ /**
+- * g_param_spec_ulong:
++ * g_param_spec_ulong: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -1956,7 +1961,7 @@
+ * Obtains data which has previously been attached to @type
+ * with g_type_set_qdata().
+ *
+- * Returns: the data, or %NULL if no data was found
++ * Returns: (transfer none): the data, or %NULL if no data was found
+ */
+
+
+@@ -2057,7 +2062,7 @@
+
+
+ /**
+- * g_param_spec_gtype:
++ * g_param_spec_gtype: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -2215,12 +2220,12 @@
+ /**
+ * g_object_class_list_properties:
+ * @oclass: a #GObjectClass
+- * @n_properties: return location for the length of the returned array
++ * @n_properties: (out): return location for the length of the returned array
+ *
+ * Get an array of #GParamSpec* for all properties of a class.
+ * #GParamSpec* which should be freed after use
+ *
+- * Returns: (array length=n_properties) (transfer full): an array of
++ * Returns: (array length=n_properties) (transfer container): an array of
+ */
+
+
+@@ -2257,8 +2262,9 @@
+ * @walk_ancestors: If %TRUE, also try to find a #GParamSpec with @param_name owned by an ancestor of @owner_type.
+ *
+ * Looks up a #GParamSpec in the pool.
++ * matching #GParamSpec was found.
+ *
+- * Returns: The found #GParamSpec, or %NULL if no matching #GParamSpec was found.
++ * Returns: (transfer none): The found #GParamSpec, or %NULL if no
+ */
+
+
+@@ -2371,7 +2377,7 @@
+
+
+ /**
+- * g_param_spec_enum:
++ * g_param_spec_enum: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -2431,7 +2437,7 @@
+
+
+ /**
+- * g_object_set_valist:
++ * g_object_set_valist: (skip)
+ * @object: a #GObject
+ * @first_property_name: name of the first property to set
+ * @var_args: value for the first property, followed optionally by more name/value pairs, followed by %NULL
+@@ -2540,7 +2546,7 @@
+
+
+ /**
+- * g_param_spec_ref_sink:
++ * g_param_spec_ref_sink: (skip)
+ * @pspec: a valid #GParamSpec
+ *
+ * Convenience function to ref and sink a #GParamSpec.
+@@ -2583,7 +2589,7 @@
+
+
+ /**
+- * g_param_spec_uint64:
++ * g_param_spec_uint64: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -2601,7 +2607,7 @@
+
+
+ /**
+- * g_object_remove_weak_pointer:
++ * g_object_remove_weak_pointer: (skip)
+ * @object: The object that is weak referenced.
+ * @weak_pointer_location: (inout): The memory address of a pointer.
+ *
+@@ -2621,7 +2627,7 @@
+
+
+ /**
+- * g_param_spec_boxed:
++ * g_param_spec_boxed: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -2686,7 +2692,7 @@
+
+
+ /**
+- * g_param_spec_pointer:
++ * g_param_spec_pointer: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -2872,7 +2878,7 @@
+
+ /**
+ * g_type_class_peek_parent:
+- * @g_class: The #GTypeClass structure to retrieve the parent class for.
++ * @g_class: (type GObject.TypeClass): The #GTypeClass structure to retrieve the parent class for.
+ *
+ * This is a convenience function often needed in class initializers.
+ * It returns the class structure of the immediate parent type of the
+@@ -2883,8 +2889,9 @@
+ * <programlisting>
+ * g_type_class_peek (g_type_parent (G_TYPE_FROM_CLASS (g_class)));
+ * </programlisting>
++ * of @g_class.
+ *
+- * Returns: The parent class of @g_class.
++ * Returns: (type GObject.TypeClass) (transfer none): The parent class
+ */
+
+
+@@ -3024,7 +3031,7 @@
+
+
+ /**
+- * g_param_spec_set_qdata_full:
++ * g_param_spec_set_qdata_full: (skip)
+ * @pspec: the #GParamSpec to set store a user data pointer
+ * @quark: a #GQuark, naming the user data pointer
+ * @data: an opaque user data pointer
+@@ -3275,14 +3282,14 @@
+ * @property_name: the name of the property to look up
+ *
+ * Looks up the #GParamSpec for a property of a class.
+- * doesn't have a property of that name
++ * %NULL if the class doesn't have a property of that name
+ *
+- * Returns: the #GParamSpec for the property, or %NULL if the class
++ * Returns: (transfer none): the #GParamSpec for the property, or
+ */
+
+
+ /**
+- * g_value_take_param:
++ * g_value_take_param: (skip)
+ * @value: a valid #GValue of type %G_TYPE_PARAM
+ * @param: the #GParamSpec to be set
+ *
+@@ -3426,13 +3433,14 @@
+ /**
+ * g_type_interfaces:
+ * @type: The type to list interface types for.
+- * @n_interfaces: Optional #guint pointer to contain the number of interface types.
++ * @n_interfaces: (out) (allow-none): Optional #guint pointer to contain the number of interface types.
+ *
+ * Return a newly allocated and 0-terminated array of type IDs, listing the
+ * interface types that @type conforms to. The return value has to be
+ * g_free()ed after use.
++ * allocated and 0-terminated array of interface types.
+ *
+- * Returns: Newly allocated and 0-terminated array of interface types.
++ * Returns: (array length=n_interfaces) (transfer full): Newly
+ */
+
+
+@@ -3617,13 +3625,14 @@
+ * g_param_spec_pool_list:
+ * @pool: a #GParamSpecPool
+ * @owner_type: the owner to look for
+- * @n_pspecs_p: return location for the length of the returned array
++ * @n_pspecs_p: (out): return location for the length of the returned array
+ *
+ * Gets an array of all #GParamSpec<!-- -->s owned by @owner_type in
+ * the pool.
+- * #GParamSpec<!-- -->s owned by @owner_type in the pool
++ * allocated array containing pointers to all #GParamSpecs
++ * owned by @owner_type in the pool
+ *
+- * Returns: a newly allocated array containing pointers to all
++ * Returns: (array length=n_pspecs_p) (transfer container): a newly
+ */
+
+
+@@ -3849,7 +3858,7 @@
+
+
+ /**
+- * g_param_spec_uchar:
++ * g_param_spec_uchar: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -3929,9 +3938,10 @@
+ * the classes reference count isn't incremented. As a consequence, this function
+ * may return %NULL if the class of the type passed in does not currently
+ * exist (hasn't been referenced before).
+- * if the class does not currently exist.
++ * structure for the given type ID or %NULL if the class does not
++ * currently exist.
+ *
+- * Returns: The #GTypeClass structure for the given type ID or %NULL
++ * Returns: (type GObject.TypeClass) (transfer none): The #GTypeClass
+ */
+
+
+@@ -3942,9 +3952,10 @@
+ *
+ * Gets an #GList of all #GParamSpec<!-- -->s owned by @owner_type in
+ * the pool.
+- * in the pool#GParamSpec<!-- -->s.
++ * #GList of all #GParamSpec<!-- -->s owned by @owner_type in
++ * the pool#GParamSpec<!-- -->s.
+ *
+- * Returns: a #GList of all #GParamSpec<!-- -->s owned by @owner_type
++ * Returns: (transfer container) (element-type GObject.ParamSpec): a
+ */
+
+
+@@ -3985,7 +3996,7 @@
+
+
+ /**
+- * g_param_spec_uint:
++ * g_param_spec_uint: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -4165,7 +4176,7 @@
+ /**
+ * g_type_query:
+ * @type: the #GType value of a static, classed type.
+- * @query: A user provided structure that is filled in with constant values upon success.
++ * @query: (out caller-allocates): A user provided structure that is filled in with constant values upon success.
+ *
+ * Queries the type system for information about a specific type.
+ * This function will fill in a user-provided structure to hold
+@@ -4261,7 +4272,7 @@
+ * This function gets back user data pointers stored via
+ * g_object_set_qdata().
+ *
+- * Returns: The user data pointer set, or %NULL
++ * Returns: (transfer none): The user data pointer set, or %NULL
+ */
+
+
+@@ -4303,7 +4314,7 @@
+
+
+ /**
+- * g_object_weak_ref:
++ * g_object_weak_ref: (skip)
+ * @object: #GObject to reference weakly
+ * @notify: callback to invoke before the object is freed
+ * @data: extra data to pass to notify
+@@ -4403,7 +4414,7 @@
+
+
+ /**
+- * g_param_spec_ref:
++ * g_param_spec_ref: (skip)
+ * @pspec: a valid #GParamSpec
+ *
+ * Increments the reference count of @pspec.
+@@ -4472,10 +4483,11 @@
+ *
+ * A more efficient version of g_type_class_peek() which works only for
+ * static types.
+- * if the class does not currently exist or is dynamically loaded.
++ * structure for the given type ID or %NULL if the class does not
++ * currently exist or is dynamically loaded.
+ *
+ * Since: 2.4
+- * Returns: The #GTypeClass structure for the given type ID or %NULL
++ * Returns: (type GObject.TypeClass) (transfer none): The #GTypeClass
+ */
+
+
+@@ -4491,7 +4503,7 @@
+
+
+ /**
+- * g_param_spec_boolean:
++ * g_param_spec_boolean: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -4665,7 +4677,7 @@
+ * function (if any was set). Usually, calling this function is only
+ * required to update user data pointers with a destroy notifier.
+ *
+- * Returns: the user data pointer set, or %NULL
++ * Returns: (transfer none): the user data pointer set, or %NULL
+ */
+
+
+@@ -4699,7 +4711,7 @@
+
+
+ /**
+- * g_object_weak_unref:
++ * g_object_weak_unref: (skip)
+ * @object: #GObject to remove a weak reference from
+ * @notify: callback to search for
+ * @data: data to search for
+@@ -5091,7 +5103,7 @@
+ *
+ * Gets back user data pointers stored via g_param_spec_set_qdata().
+ *
+- * Returns: the user data pointer set, or %NULL
++ * Returns: (transfer none): the user data pointer set, or %NULL
+ */
+
+
+@@ -5283,7 +5295,7 @@
+ /**
+ * g_value_set_object:
+ * @value: a valid #GValue of %G_TYPE_OBJECT derived type
+- * @v_object: object value to be set
++ * @v_object: (type GObject.Object): object value to be set
+ *
+ * Set the contents of a %G_TYPE_OBJECT derived #GValue to @v_object.
+ * g_value_set_object() increases the reference count of @v_object
+@@ -5512,7 +5524,7 @@
+
+
+ /**
+- * g_object_add_toggle_ref:
++ * g_object_add_toggle_ref: (skip)
+ * @object: a #GObject
+ * @notify: a function to call when this reference is the last reference to the object, or is no longer the last reference.
+ * @data: data to pass to @notify
+@@ -5599,7 +5611,7 @@
+
+
+ /**
+- * g_type_register_static_simple:
++ * g_type_register_static_simple: (skip)
+ * @parent_type: Type from which this type will be derived.
+ * @type_name: 0-terminated string used as the name of the new type.
+ * @class_size: Size of the class structure (see #GTypeInfo)
+@@ -5630,7 +5642,7 @@
+
+
+ /**
+- * g_param_spec_float:
++ * g_param_spec_float: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -5800,7 +5812,7 @@
+
+
+ /**
+- * g_param_spec_unref:
++ * g_param_spec_unref: (skip)
+ * @pspec: a valid #GParamSpec
+ *
+ * Decrements the reference count of a @pspec.
+@@ -6172,7 +6184,7 @@
+
+
+ /**
+- * g_param_spec_flags:
++ * g_param_spec_flags: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -6232,7 +6244,7 @@
+
+
+ /**
+- * g_object_add_weak_pointer:
++ * g_object_add_weak_pointer: (skip)
+ * @object: The object that should be weak referenced.
+ * @weak_pointer_location: (inout): The memory address of a pointer.
+ *
+@@ -6263,7 +6275,7 @@
+
+
+ /**
+- * g_param_spec_value_array:
++ * g_param_spec_value_array: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -6305,7 +6317,7 @@
+
+
+ /**
+- * g_param_spec_variant:
++ * g_param_spec_variant: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -6395,7 +6407,7 @@
+
+
+ /**
+- * g_param_spec_unichar:
++ * g_param_spec_unichar: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -6421,7 +6433,7 @@
+
+
+ /**
+- * g_object_get:
++ * g_object_get: (skip)
+ * @object: a #GObject
+ * @first_property_name: name of the first property to get
+ * @...: return location for the first property, followed optionally by more name/return location pairs, followed by %NULL
+@@ -6535,7 +6547,7 @@
+ *
+ * Gets a named field from the objects table of associations (see g_object_set_data()).
+ *
+- * Returns: the data if found, or %NULL if no such data exists.
++ * Returns: (transfer none): the data if found, or %NULL if no such data exists.
+ */
+
+
+@@ -6655,7 +6667,7 @@
+
+
+ /**
+- * g_object_new_valist:
++ * g_object_new_valist: (skip)
+ * @object_type: the type id of the #GObject subtype to instantiate
+ * @first_property_name: the name of the first property
+ * @var_args: the value of the first property, followed optionally by more name/value pairs, followed by %NULL
+@@ -6811,7 +6823,7 @@
+
+
+ /**
+- * g_value_set_param_take_ownership:
++ * g_value_set_param_take_ownership: (skip)
+ * @value: a valid #GValue of type %G_TYPE_PARAM
+ * @param: the #GParamSpec to be set
+ *
+@@ -6832,8 +6844,8 @@
+
+
+ /**
+- * g_type_class_unref_uncached:
+- * @g_class: The #GTypeClass structure to unreference.
++ * g_type_class_unref_uncached: (skip)
++ * @g_class: (type GObject.TypeClass): The #GTypeClass structure to unreference.
+ *
+ * A variant of g_type_class_unref() for use in #GTypeClassCacheFunc
+ * implementations. It unreferences a class without consulting the chain
+@@ -6852,7 +6864,7 @@
+ * property name, like "GtkContainer:border-width". This feature is
+ * deprecated, so you should always set @type_prefixing to %FALSE.
+ *
+- * Returns: a newly allocated #GParamSpecPool.
++ * Returns: (transfer none): a newly allocated #GParamSpecPool.
+ */
+
+
+@@ -6989,7 +7001,7 @@
+
+
+ /**
+- * g_cclosure_new_object:
++ * g_cclosure_new_object: (skip)
+ * @callback_func: the function to invoke
+ * @object: a #GObject pointer to pass to @callback_func
+ *
+@@ -7015,7 +7027,7 @@
+
+
+ /**
+- * g_object_remove_toggle_ref:
++ * g_object_remove_toggle_ref: (skip)
+ * @object: a #GObject
+ * @notify: a function to call when this reference is the last reference to the object, or is no longer the last reference.
+ * @data: data to pass to @notify
+@@ -7119,7 +7131,7 @@
+
+ /**
+ * g_type_class_unref:
+- * @g_class: The #GTypeClass structure to unreference.
++ * @g_class: (type GObject.TypeClass): The #GTypeClass structure to unreference.
+ *
+ * Decrements the reference count of the class structure being passed in.
+ * Once the last reference count of a class has been released, classes
+@@ -7138,7 +7150,7 @@
+
+
+ /**
+- * g_param_spec_long:
++ * g_param_spec_long: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -7172,7 +7184,7 @@
+
+
+ /**
+- * g_value_set_object_take_ownership:
++ * g_value_set_object_take_ownership: (skip)
+ * @value: a valid #GValue of %G_TYPE_OBJECT derived type
+ * @v_object: object value to be set
+ *
+@@ -7296,9 +7308,9 @@
+ *
+ * Returns the #GTypePlugin structure for @type or
+ * %NULL if @type does not have a #GTypePlugin structure.
+- * %NULL otherwise.
++ * dynamic type, %NULL otherwise.
+ *
+- * Returns: The corresponding plugin if @type is a dynamic type,
++ * Returns: (transfer none): The corresponding plugin if @type is a
+ */
+
+
+@@ -7334,7 +7346,7 @@
+
+
+ /**
+- * g_param_spec_int:
++ * g_param_spec_int: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -7465,7 +7477,7 @@
+
+
+ /**
+- * g_object_connect:
++ * g_object_connect: (skip)
+ * @object: a #GObject
+ * @signal_spec: the spec for the first signal
+ * @...: #GCallback for the first signal, followed by data for the first signal, followed optionally by more signal spec/callback/data triples, followed by %NULL
+@@ -7541,7 +7553,7 @@
+ * NULL);
+ * ]|
+ *
+- * Returns: @object
++ * Returns: (transfer none): @object
+ */
+
+
+@@ -7699,7 +7711,7 @@
+
+
+ /**
+- * g_type_add_class_cache_func:
++ * g_type_add_class_cache_func: (skip)
+ * @cache_data: data to be passed to @cache_func
+ * @cache_func: a #GTypeClassCacheFunc
+ *
+@@ -7733,10 +7745,11 @@
+ * will be the default vtable from g_type_default_interface_ref(), or,
+ * if you know the interface has already been loaded,
+ * g_type_default_interface_peek().
+- * name @property_name, or %NULL if no such property exists.
++ * interface with the name @property_name, or %NULL if no
++ * such property exists.
+ *
+ * Since: 2.4
+- * Returns: the #GParamSpec for the property of the interface with the
++ * Returns: (transfer none): the #GParamSpec for the property of the
+ */
+
+
+@@ -7990,7 +8003,7 @@
+
+
+ /**
+- * g_object_set_qdata_full:
++ * g_object_set_qdata_full: (skip)
+ * @object: The GObject to set store a user data pointer
+ * @quark: A #GQuark, naming the user data pointer
+ * @data: An opaque user data pointer
+@@ -8021,13 +8034,14 @@
+ * g_object_newv:
+ * @object_type: the type id of the #GObject subtype to instantiate
+ * @n_parameters: the length of the @parameters array
+- * @parameters: an array of #GParameter
++ * @parameters: (array length=n_parameters): an array of #GParameter
+ *
+ * Creates a new instance of a #GObject subtype and sets its properties.
+ * Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
+ * which are not explicitly specified are set to their default values.
+ *
+- * Returns: a new instance of @object_type
++ * Rename to: g_object_new
++ * Returns: (type GObject.Object) (transfer full): a new instance of
+ */
+
+
+@@ -8038,9 +8052,9 @@
+ *
+ * Returns the #GTypePlugin structure for the dynamic interface
+ * have a #GTypePlugin structure. See g_type_add_interface_dynamic().
+- * of @instance_type.
++ * interface @interface_type of @instance_type.
+ *
+- * Returns: the #GTypePlugin for the dynamic interface @interface_type
++ * Returns: (transfer none): the #GTypePlugin for the dynamic
+ */
+
+
+@@ -8118,12 +8132,12 @@
+ * and thus the partial string list would have been freed upon
+ * g_object_set_qdata_full().
+ *
+- * Returns: The user data pointer set, or %NULL
++ * Returns: (transfer full): The user data pointer set, or %NULL
+ */
+
+
+ /**
+- * g_object_set_qdata:
++ * g_object_set_qdata: (skip)
+ * @object: The GObject to set store a user data pointer
+ * @quark: A #GQuark, naming the user data pointer
+ * @data: An opaque user data pointer
+@@ -8140,7 +8154,7 @@
+
+
+ /**
+- * g_type_add_interface_check:
++ * g_type_add_interface_check: (skip)
+ * @check_data: data to pass to @check_func
+ * @check_func: function to be called after each interface is initialized.
+ *
+@@ -8238,11 +8252,11 @@
+
+ /**
+ * g_object_ref:
+- * @object: a #GObject
++ * @object: (type GObject.Object): a #GObject
+ *
+ * Increases the reference count of @object.
+ *
+- * Returns: the same @object
++ * Returns: (type GObject.Object) (transfer none): the same @object
+ */
+
+
+@@ -8281,7 +8295,7 @@
+
+
+ /**
+- * g_type_remove_interface_check:
++ * g_type_remove_interface_check: (skip)
+ * @check_data: callback data passed to g_type_add_interface_check()
+ * @check_func: callback function passed to g_type_add_interface_check()
+ *
+@@ -8357,11 +8371,11 @@
+ * Calling g_type_default_interface_ref() is useful when you
+ * want to make sure that signals and properties for an interface
+ * have been installed.
+- * g_type_default_interface_unref() when you are done using
+- * the interface.
++ * vtable for the interface; call g_type_default_interface_unref()
++ * when you are done using the interface.
+ *
+ * Since: 2.4
+- * Returns: the default vtable for the interface; call
++ * Returns: (type GObject.TypeInterface) (transfer none): the default
+ */
+
+
+@@ -8377,7 +8391,7 @@
+
+ /**
+ * g_object_unref:
+- * @object: a #GObject
++ * @object: (type GObject.Object): a #GObject
+ *
+ * Decreases the reference count of @object. When its reference count
+ * drops to 0, the object is finalized (i.e. its memory is freed).
+@@ -8405,7 +8419,7 @@
+
+
+ /**
+- * g_value_take_object:
++ * g_value_take_object: (skip)
+ * @value: a valid #GValue of %G_TYPE_OBJECT derived type
+ * @v_object: object value to be set
+ *
+@@ -8597,7 +8611,7 @@
+ * Remove a specified datum from the object's data associations,
+ * without invoking the association's destroy handler.
+ *
+- * Returns: the data if found, or %NULL if no such data exists.
++ * Returns: (transfer full): the data if found, or %NULL if no such data exists.
+ */
+
+
+@@ -8624,7 +8638,7 @@
+
+ /**
+ * g_object_ref_sink:
+- * @object: a #GObject
++ * @object: (type GObject.Object): a #GObject
+ *
+ * Increase the reference count of @object, and possibly remove the
+ * <link linkend="floating-ref">floating</link> reference, if @object
+@@ -8636,7 +8650,7 @@
+ * adds a new normal reference increasing the reference count by one.
+ *
+ * Since: 2.10
+- * Returns: @object
++ * Returns: (type GObject.Object) (transfer none): @object
+ */
+
+
+@@ -8709,7 +8723,7 @@
+
+
+ /**
+- * g_param_spec_char:
++ * g_param_spec_char: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -8864,23 +8878,24 @@
+ /**
+ * g_object_interface_list_properties:
+ * @g_iface: any interface vtable for the interface, or the default vtable for the interface
+- * @n_properties_p: location to store number of properties returned.
++ * @n_properties_p: (out): location to store number of properties returned.
+ *
+ * Lists the properties of an interface.Generally, the interface
+ * vtable passed in as @g_iface will be the default vtable from
+ * g_type_default_interface_ref(), or, if you know the interface has
+ * already been loaded, g_type_default_interface_peek().
++ * pointer to an array of pointers to #GParamSpec
+ * structures. The paramspecs are owned by GLib, but the
+ * array should be freed with g_free() when you are done with
+ * it.
+ *
+ * Since: 2.4
+- * Returns: a pointer to an array of pointers to #GParamSpec
++ * Returns: (array length=n_properties_p) (transfer container): a
+ */
+
+
+ /**
+- * g_signal_connect_object:
++ * g_signal_connect_object: (skip)
+ * @instance: the instance to connect to.
+ * @detailed_signal: a string of the form "signal-name::detail".
+ * @c_handler: the #GCallback to connect.
+@@ -9256,14 +9271,15 @@
+
+ /**
+ * g_type_interface_peek:
+- * @instance_class: A #GTypeClass structure.
++ * @instance_class: (type GObject.TypeClass): A #GTypeClass structure.
+ * @iface_type: An interface ID which this class conforms to.
+ *
+ * Returns the #GTypeInterface structure of an interface to which the
+ * passed in class conforms.
+- * by @instance_class, %NULL otherwise
++ * structure of iface_type if implemented by @instance_class, %NULL
++ * otherwise
+ *
+- * Returns: The GTypeInterface structure of iface_type if implemented
++ * Returns: (type GObject.TypeInterface) (transfer none): The GTypeInterface
+ */
+
+
+@@ -9432,7 +9448,7 @@
+
+
+ /**
+- * g_param_spec_internal:
++ * g_param_spec_internal: (skip)
+ * @param_type: the #GType for the property; must be derived from #G_TYPE_PARAM
+ * @name: the canonical name of the property
+ * @nick: the nickname of the property
+@@ -9495,10 +9511,10 @@
+ * type. Redirection is established by creating a property
+ * of type #GParamSpecOverride. See g_object_class_override_property()
+ * for an example of the use of this capability.
+- * be redirected, or %NULL if none.
++ * paramspec should be redirected, or %NULL if none.
+ *
+ * Since: 2.4
+- * Returns: paramspec to which requests on this paramspec should
++ * Returns: (transfer none): paramspec to which requests on this
+ */
+
+
+@@ -9751,7 +9767,7 @@
+
+
+ /**
+- * g_param_spec_override:
++ * g_param_spec_override: (skip)
+ * @name: the name of the property.
+ * @overridden: The property that is being overridden
+ *
+@@ -9765,7 +9781,7 @@
+
+
+ /**
+- * g_type_value_table_peek:
++ * g_type_value_table_peek: (skip)
+ * @type: A #GType value.
+ *
+ * Returns the location of the #GTypeValueTable associated with @type.
+@@ -9783,10 +9799,11 @@
+ *
+ * If the interface type @g_type is currently in use, returns its
+ * default interface vtable.
+- * if the type is not currently in use.
++ * vtable for the interface, or %NULL if the type is not currently in
++ * use.
+ *
+ * Since: 2.4
+- * Returns: the default vtable for the interface, or %NULL
++ * Returns: (type GObject.TypeInterface) (transfer none): the default
+ */
+
+
+@@ -10044,7 +10061,7 @@
+
+
+ /**
+- * g_param_spec_double:
++ * g_param_spec_double: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -10135,7 +10152,7 @@
+
+
+ /**
+- * g_param_spec_object:
++ * g_param_spec_object: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -10237,7 +10254,7 @@
+
+
+ /**
+- * g_param_spec_string:
++ * g_param_spec_string: (skip)
+ * @name: canonical name of the property specified
+ * @nick: nick name for the property specified
+ * @blurb: description of the property specified
+@@ -10328,7 +10345,7 @@
+
+
+ /**
+- * g_object_disconnect:
++ * g_object_disconnect: (skip)
+ * @object: a #GObject
+ * @signal_spec: the spec for the first signal
+ * @...: #GCallback for the first signal, followed by data for the first signal, followed optionally by more signal spec/callback/data triples, followed by %NULL
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/girepository/girepository.h gobject-introspection/girepository/girepository.h
+--- work/gobject-introspection-0.10.0/girepository/girepository.h 2010-09-07 21:40:59.000000000 +0000
++++ girepository/girepository.h 2011-01-10 10:58:29.000000000 +0000
+@@ -110,7 +110,7 @@
+ GError **error);
+ GITypelib * g_irepository_require_private (GIRepository *repository,
+ const gchar *typelib_dir,
+- const gchar *namespace,
++ const gchar *namespace_,
+ const gchar *version,
+ GIRepositoryLoadFlags flags,
+ GError **error);
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/giscanner/ast.py gobject-introspection/giscanner/ast.py
+--- work/gobject-introspection-0.10.0/giscanner/ast.py 2010-10-23 17:23:57.000000000 +0000
++++ giscanner/ast.py 2011-01-10 10:58:29.000000000 +0000
+@@ -947,7 +947,10 @@
+ self.writable = writable
+ self.construct = construct
+ self.construct_only = construct_only
+- self.transfer = PARAM_TRANSFER_NONE
++ if transfer is None:
++ self.transfer = PARAM_TRANSFER_NONE
++ else:
++ self.transfer = transfer
+
+
+ class Callback(Callable):
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/giscanner/gdumpparser.py gobject-introspection/giscanner/gdumpparser.py
+--- work/gobject-introspection-0.10.0/giscanner/gdumpparser.py 2010-12-08 19:50:39.000000000 +0000
++++ giscanner/gdumpparser.py 2011-01-10 10:58:29.000000000 +0000
+@@ -419,9 +419,7 @@
+ node.properties.append(ast.Property(
+ pspec.attrib['name'],
+ ast.Type.create_from_gtype_name(ctype),
+- readable, writable, construct, construct_only,
+- ctype,
+- ))
++ readable, writable, construct, construct_only))
+ node.properties = node.properties
+
+ def _introspect_signals(self, node, xmlnode):
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/giscanner/girparser.py gobject-introspection/giscanner/girparser.py
+--- work/gobject-introspection-0.10.0/giscanner/girparser.py 2010-09-25 13:15:20.000000000 +0000
++++ giscanner/girparser.py 2011-01-10 10:58:29.000000000 +0000
+@@ -95,10 +95,15 @@
+
+ # Private
+
+- def _find_first_child(self, node, name):
+- for child in node.getchildren():
+- if child.tag == name:
+- return child
++ def _find_first_child(self, node, name_or_names):
++ if isinstance(name_or_names, str):
++ for child in node.getchildren():
++ if child.tag == name_or_names:
++ return child
++ else:
++ for child in node.getchildren():
++ if child.tag in name_or_names:
++ return child
+ return None
+
+ def _find_children(self, node, name):
+@@ -410,7 +415,8 @@
+ return ast.TypeUnknown()
+ return ast.Type(ctype=ctype)
+ elif name in ['GLib.List', 'GLib.SList']:
+- subchild = self._find_first_child(typenode, _corens('type'))
++ subchild = self._find_first_child(typenode,
++ map(_corens, ('callback', 'array', 'varargs', 'type')))
+ if subchild is not None:
+ element_type = self._parse_type(typenode)
+ else:
+@@ -504,7 +510,8 @@
+ node.attrib.get('readable') != '0',
+ node.attrib.get('writable') == '1',
+ node.attrib.get('construct') == '1',
+- node.attrib.get('construct-only') == '1')
++ node.attrib.get('construct-only') == '1',
++ node.attrib.get('transfer-ownership'))
+ self._parse_generic_attribs(node, prop)
+ return prop
+
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/giscanner/introspectablepass.py gobject-introspection/giscanner/introspectablepass.py
+--- work/gobject-introspection-0.10.0/giscanner/introspectablepass.py 2010-12-17 17:03:58.000000000 +0000
++++ giscanner/introspectablepass.py 2011-01-10 10:58:29.000000000 +0000
+@@ -38,14 +38,6 @@
+ self._namespace.walk(self._introspectable_callable_analysis)
+ self._namespace.walk(self._introspectable_pass3)
+
+- def _interface_vfunc_check(self, node, stack):
+- if isinstance(node, ast.Interface):
+- for vfunc in node.virtual_methods:
+- if not vfunc.invoker:
+- message.warn_node(vfunc,
+-"""Virtual function %r has no known invoker""" % (vfunc.name, ),
+- context=node)
+-
+ def _parameter_warning(self, parent, param, text, position=None):
+ # Suppress VFunctions and Callbacks warnings for now
+ # they cause more problems then they are worth
+@@ -183,8 +175,6 @@
+ def _analyze_node(self, obj, stack):
+ if obj.skip:
+ return False
+- # Combine one-pass checks here
+- self._interface_vfunc_check(obj, stack)
+ # Our first pass for scriptability
+ if isinstance(obj, ast.Callable):
+ for param in obj.parameters:
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/giscanner/maintransformer.py gobject-introspection/giscanner/maintransformer.py
+--- work/gobject-introspection-0.10.0/giscanner/maintransformer.py 2010-12-21 17:47:12.000000000 +0000
++++ giscanner/maintransformer.py 2011-01-10 10:58:29.000000000 +0000
+@@ -1035,10 +1035,6 @@
+ if isinstance(field, ast.Field):
+ field.writable = False
+
+- # Loop through fields to determine which are virtual
+- # functions and which are signal slots by
+- # assuming everything that doesn't share a name
+- # with a known signal is a virtual slot.
+ for field in class_struct.fields:
+ if not isinstance(field.anonymous_node, ast.Callback):
+ continue
+@@ -1049,15 +1045,6 @@
+ firstparam_type = callback.parameters[0].type
+ if firstparam_type != node_type:
+ continue
+- # Also double check we don't have a signal with this
+- # name.
+- matched_signal = False
+- for signal in node.signals:
+- if signal.name.replace('-', '_') == callback.name:
+- matched_signal = True
+- break
+- if matched_signal:
+- continue
+ vfunc = ast.VFunction.from_callback(callback)
+ vfunc.instance_parameter = callback.parameters[0]
+ vfunc.inherit_file_positions(callback)
+diff -ru --exclude=.git work/gobject-introspection-0.10.0/tests/scanner/Foo-1.0-expected.gir gobject-introspection/tests/scanner/Foo-1.0-expected.gir
+--- work/gobject-introspection-0.10.0/tests/scanner/Foo-1.0-expected.gir 2010-09-17 12:31:58.000000000 +0000
++++ tests/scanner/Foo-1.0-expected.gir 2011-01-10 10:58:29.000000000 +0000
+@@ -664,6 +664,11 @@
+ glib:get-type="foo_sub_interface_get_type"
+ glib:type-struct="SubInterfaceIface">
+ <prerequisite name="Interface"/>
++ <virtual-method name="destroy_event">
++ <return-value transfer-ownership="none">
++ <type name="none" c:type="void"/>
++ </return-value>
++ </virtual-method>
+ <virtual-method name="do_bar" invoker="do_bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>