Code moved from callback.c
[clg] / glib / alien / gobject.c
1 /* $Id: gobject.c,v 1.2 2004-10-31 11:35:59 espen Exp $ */
2
3 #include <glib-object.h>
4
5 gpointer g_object_newvv (GType object_type, guint n_parameters,
6 guchar* names[], GValue* values[])
7 {
8 GParameter parameters[n_parameters];
9 int i;
10
11 for (i = 0; i < n_parameters; i++) {
12 parameters[i].name = names[i];
13 g_value_init (&parameters[i].value, G_VALUE_TYPE (values[i]));
14 g_value_copy (values[i], &parameters[i].value);
15 }
16
17 return g_object_newv (object_type, n_parameters, &parameters);
18 }
19
20
21 guint size_of_gvalue ()
22 {
23 return sizeof (GValue);
24 }
25
26
27 GEnumValue*
28 g_enum_class_values (GEnumClass *class, guint *n_values)
29 {
30 *n_values = class->n_values;
31 return class->values;
32 }
33
34 GFlagsValue*
35 g_flags_class_values (GFlagsClass *class, guint *n_values)
36 {
37 *n_values = class->n_values;
38 return class->values;
39 }
40