X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/c9819f3ec61840abd576766046484d756e4894ce..720c48f6de9d3d130ac26a49fbc38d83440cc429:/glib/callback.c diff --git a/glib/callback.c b/glib/callback.c index 360cad6..9450ec7 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; +} +