X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/c8c48a4c0afa3a32f381c3f5662e34ae1874ea2c..f942a38c44595195e54d7cf53abdbefb5bb8e423:/glib/callback.c diff --git a/glib/callback.c b/glib/callback.c index 846c5d1..de9f50c 100644 --- a/glib/callback.c +++ b/glib/callback.c @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: callback.c,v 1.1 2000-11-09 20:29:19 espen Exp $ */ +/* $Id: callback.c,v 1.3 2001-04-29 20:11:21 espen Exp $ */ #include @@ -65,13 +65,13 @@ void destroy_notify (gpointer data) } GClosure* -g_lisp_callback_closure (guint callback_id) +g_lisp_callback_closure_new (guint callback_id) { GClosure *closure; closure = g_closure_new_simple (sizeof (GClosure), (gpointer)callback_id); g_closure_set_marshal (closure, lisp_callback_marshal); - g_closure_add_fnotify (closure, (gpointer)callback_id, closure_destroy_notify); + g_closure_add_finalize_notifier (closure, (gpointer)callback_id, closure_destroy_notify); return closure; } @@ -83,3 +83,42 @@ destroy_notify_address () return (void*)destroy_notify; } #endif + + +GList* +g_object_class_properties (GObjectClass *class) +{ + GList *list = NULL; + int i; + + for (i = 0; i < class->n_property_specs; i++) + list = g_list_append (list, class->property_specs[i]); + + return list; +} + +#include +GList* +g_enum_class_values (GEnumClass *class) +{ + GList *list = NULL; + int i; + + for (i = 0; i < class->n_values; i++) + list = g_list_append (list, &class->values[i]); + + return list; +} + +GList* +g_flags_class_values (GFlagsClass *class) +{ + GList *list = NULL; + int i; + + for (i = 0; i < class->n_values; i++) + list = g_list_append (list, &class->values[i]); + + return list; +} +