[vala] gobject-2.0: finish GClosure bindings



commit ab2aae2ea32eabc8d77cf780e525884b09d3a014
Author: Philip Withnall <philip withnall collabora co uk>
Date:   Sat Oct 23 01:24:07 2010 -0700

    gobject-2.0: finish GClosure bindings
    
    Fixes bug 629074.

 vapi/gobject-2.0.vapi |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/vapi/gobject-2.0.vapi b/vapi/gobject-2.0.vapi
index 08ddc5c..1b29939 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 {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]