summaryrefslogtreecommitdiff
path: root/girepository/giarginfo.c
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2011-05-13 12:20:05 -0400
committerDavid Zeuthen <davidz@redhat.com>2011-05-13 14:18:48 -0400
commit9c6797e0478b5025c3f2f37b1331c1328cf34f4d (patch)
tree21efe4e901211a20bf52037da529a8a490d27ab7 /girepository/giarginfo.c
parentb29b3ec7c9f4f9f6d979aff1bfc3dc6cb05970d2 (diff)
downloadgobject-introspection-9c6797e0478b5025c3f2f37b1331c1328cf34f4d.tar.gz
Add support for the (skip) annotation on parameters or return values
This was discussed in bug 649657. https://bugzilla.gnome.org/show_bug.cgi?id=649657 Signed-off-by: David Zeuthen <davidz@redhat.com>
Diffstat (limited to 'girepository/giarginfo.c')
-rw-r--r--girepository/giarginfo.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/girepository/giarginfo.c b/girepository/giarginfo.c
index dc1d1162..069ecce0 100644
--- a/girepository/giarginfo.c
+++ b/girepository/giarginfo.c
@@ -165,6 +165,28 @@ g_arg_info_may_be_null (GIArgInfo *info)
}
/**
+ * g_arg_info_is_skip:
+ * @info: a #GIArgInfo
+ *
+ * Obtain if an argument is only useful in C.
+ *
+ * Returns: %TRUE if argument is only useful in C.
+ */
+gboolean
+g_arg_info_is_skip (GIArgInfo *info)
+{
+ GIRealInfo *rinfo = (GIRealInfo *)info;
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, FALSE);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), FALSE);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+
+ return blob->skip;
+}
+
+/**
* g_arg_info_get_ownership_transfer:
* @info: a #GIArgInfo
*