summaryrefslogtreecommitdiff
path: root/girepository/gitypelib-internal.h
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagna@src.gnome.org>2014-05-06 18:53:21 +0200
committerGiovanni Campagna <gcampagna@src.gnome.org>2014-07-03 10:31:17 +0200
commita4c9d09d7a89d3c80b4465a5c2ae0efa24158b24 (patch)
treef56b061a761dd45ed64d9015c8a7cf00b46be710 /girepository/gitypelib-internal.h
parentb2bf49eae922bffddc952fcc22e4acbd7d40c5f3 (diff)
downloadgobject-introspection-a4c9d09d7a89d3c80b4465a5c2ae0efa24158b24.tar.gz
Parse and expose ownership transfer for instance parameters
Knowing the ownership transfer for instance parameters is necessary for correct memory management of functions which "eat" their instance argument, such as g_dbus_method_invocation_return_*. Parse this information from the gir file and store in the typelib, and then provide new API on GICallableInfo to retrieve this. https://bugzilla.gnome.org/show_bug.cgi?id=729662
Diffstat (limited to 'girepository/gitypelib-internal.h')
-rw-r--r--girepository/gitypelib-internal.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/girepository/gitypelib-internal.h b/girepository/gitypelib-internal.h
index 93d621b2..5ccb6173 100644
--- a/girepository/gitypelib-internal.h
+++ b/girepository/gitypelib-internal.h
@@ -465,6 +465,8 @@ typedef struct {
* freeing the container, but not its contents.
* @skip_return: Indicates that the return value is only useful in C and should
* be skipped.
+ * @instance_transfer_ownership: When calling, the function assumes ownership of
+ * the instance parameter.
* @reserved: Reserved for future use.
* @n_arguments: The number of arguments that this function expects, also the
* length of the array of ArgBlobs.
@@ -479,7 +481,8 @@ typedef struct {
guint16 caller_owns_return_value : 1;
guint16 caller_owns_return_container : 1;
guint16 skip_return : 1;
- guint16 reserved :12;
+ guint16 instance_transfer_ownership : 1;
+ guint16 reserved :11;
guint16 n_arguments;