From: Philip Withnall Date: Sat, 23 Oct 2010 08:24:07 +0000 (-0700) Subject: gobject-2.0: finish GClosure bindings X-Git-Tag: 0.11.1~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab2aae2ea32eabc8d77cf780e525884b09d3a014;p=thirdparty%2Fvala.git gobject-2.0: finish GClosure bindings Fixes bug 629074. --- diff --git a/vapi/gobject-2.0.vapi b/vapi/gobject-2.0.vapi index 08ddc5c7f..1b29939d2 100644 --- a/vapi/gobject-2.0.vapi +++ b/vapi/gobject-2.0.vapi @@ -527,13 +527,28 @@ namespace GLib { public delegate void Callback (); [Compact] - [CCode (type_id = "G_TYPE_CLOSURE")] + [CCode (ref_function = "g_closure_ref", unref_function = "g_closure_unref", type_id = "G_TYPE_CLOSURE")] public class Closure { + public void sink (); + public void invoke (out Value? return_value, [CCode (array_length_pos = 1.9)] Value[] param_values, void *invocation_hint); + public void invalidate (); + public void add_finalize_notifier (void *notify_data, ClosureNotify notify_func); + public void add_invalidate_notifier (void *notify_data, ClosureNotify notify_func); + public void remove_finalize_notifier (void *notify_data, ClosureNotify notify_func); + public void remove_invalidate_notifier (void *notify_data, ClosureNotify notify_func); + [CCode (cname = "g_closure_new_object")] + public Closure (ulong sizeof_closure, Object object); + public void set_marshal (ClosureMarshal marshal); + public void add_marshal_guards (void *pre_marshal_data, ClosureNotify pre_marshal_notify, void *post_marshal_data, ClosureNotify post_marshal_notify); + public void set_meta_marshal (void *marshal_data, ClosureMarshal meta_marshal); } [CCode (has_target = false)] public delegate void ClosureNotify (void* data, Closure closure); + [CCode (instance_pos = 0, has_target = false)] + public delegate void ClosureMarshal (Closure closure, out Value return_value, [CCode (array_length_pos = 2.9)] Value[] param_values, void *invocation_hint, void *marshal_data); + [Compact] [CCode (type_id = "G_TYPE_VALUE_ARRAY", copy_function = "g_value_array_copy", free_function = "g_value_array_free")] public class ValueArray {