/* value.c : Glue to allocate GValues on the heap. * * Author: Mike Kestner * * 2002 Mike Kestner */ #include /* Forward declarations */ GValue *gtksharp_value_create (GType g_type); GValue *gtksharp_value_create_from_property (GObject *obj, const gchar* name); /* */ GValue * gtksharp_value_create (GType g_type) { GValue *val = g_new0 (GValue, 1); if (g_type != G_TYPE_INVALID) val = g_value_init (val, g_type); return val; } GValue * gtksharp_value_create_from_property (GObject *obj, const gchar* name) { GParamSpec *spec = g_object_class_find_property ( G_OBJECT_GET_CLASS (obj), name); return gtksharp_value_create (spec->value_type); } GType gtksharp_value_get_value_type (GValue *value) { g_return_val_if_fail (value != NULL, G_TYPE_INVALID); g_return_val_if_fail (G_IS_VALUE (value), G_TYPE_INVALID); return G_VALUE_TYPE (value); }