diff options
Diffstat (limited to 'girepository/ginfo.c')
-rw-r--r-- | girepository/ginfo.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/girepository/ginfo.c b/girepository/ginfo.c index 5df1e3f8..8324c05b 100644 --- a/girepository/ginfo.c +++ b/girepository/ginfo.c @@ -741,12 +741,39 @@ g_arg_info_get_ownership_transfer (GIArgInfo *info) return GI_TRANSFER_NOTHING; } +GIScopeType +g_arg_info_get_scope (GIArgInfo *info) +{ + GIBaseInfo *base = (GIBaseInfo *)info; + ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; + + return blob->scope; +} + +gint +g_arg_info_get_closure (GIArgInfo *info) +{ + GIBaseInfo *base = (GIBaseInfo *)info; + ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; + + return blob->closure; +} + +gint +g_arg_info_get_destroy (GIArgInfo *info) +{ + GIBaseInfo *base = (GIBaseInfo *)info; + ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; + + return blob->destroy; +} + GITypeInfo * g_arg_info_get_type (GIArgInfo *info) { GIBaseInfo *base = (GIBaseInfo *)info; - return g_type_info_new (base, base->typelib, base->offset + 8); + return g_type_info_new (base, base->typelib, base->offset + 12); } /* GITypeInfo functions */ |