From: Marc-André Lureau Date: Mon, 26 May 2008 17:59:07 +0000 (+0000) Subject: add weak pointer references bindings and {freeze,thaw}_notify () X-Git-Tag: VALA_0_3_3~105 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=01e65e635ae860d568ae0c31a2e75fdc852ffaca;p=thirdparty%2Fvala.git add weak pointer references bindings and {freeze,thaw}_notify () 2008-05-26 Marc-André Lureau * vapi/glib-2.0.vapi (Object): add weak pointer references bindings and {freeze,thaw}_notify () svn path=/trunk/; revision=1453 --- diff --git a/ChangeLog b/ChangeLog index ba6271e3d..a6555631b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-05-26 Marc-André Lureau + + * vapi/glib-2.0.vapi (Object): add weak pointer references + bindings and {freeze,thaw}_notify () + 2008-05-26 Jamie McCracken * vala/valagenieparser.vala: diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi index ec0fa5687..832cf5842 100644 --- a/vapi/glib-2.0.vapi +++ b/vapi/glib-2.0.vapi @@ -755,6 +755,7 @@ namespace GLib { public static delegate void ObjectGetPropertyFunc (Object object, uint property_id, Value value, ParamSpec pspec); public static delegate void ObjectSetPropertyFunc (Object object, uint property_id, Value value, ParamSpec pspec); + public static delegate void WeakNotify (void *data, Object object); [CCode (ref_function = "g_object_ref", unref_function = "g_object_unref", marshaller_type_name = "OBJECT", get_value_function = "g_value_get_object", set_value_function = "g_value_set_object", cheader_filename = "glib-object.h")] public class Object : TypeInstance { @@ -765,6 +766,10 @@ namespace GLib { public weak Object @ref (); public void unref (); public Object ref_sink (); + public void weak_ref (WeakNotify notify, void *data); + public void weak_unref (WeakNotify notify, void *data); + public void add_weak_pointer (void **data); + public void remove_weak_pointer (void **data); public void get (...); public void set (...); public void get_property (string property_name, Value value); @@ -776,6 +781,8 @@ namespace GLib { public void set_qdata (Quark quark, void* data); public void set_qdata_full (Quark quark, void* data, DestroyNotify? destroy); public void* steal_qdata (Quark quark); + public void freeze_notify (); + public void thaw_notify (); public virtual void dispose (); public virtual void finalize (); public virtual void constructed ();