112ac1d3 |
1 | /* Common Lisp bindings for GTK+ v2.x |
2 | * Copyright 1999-2005 Espen S. Johnsen <espen@users.sf.net> |
3 | * |
4 | * Permission is hereby granted, free of charge, to any person obtaining |
5 | * a copy of this software and associated documentation files (the |
6 | * "Software"), to deal in the Software without restriction, including |
7 | * without limitation the rights to use, copy, modify, merge, publish, |
8 | * distribute, sublicense, and/or sell copies of the Software, and to |
9 | * permit persons to whom the Software is furnished to do so, subject to |
10 | * the following conditions: |
11 | * |
12 | * The above copyright notice and this permission notice shall be |
13 | * included in all copies or substantial portions of the Software. |
14 | * |
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
19 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
20 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
21 | * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
22 | */ |
23 | |
24 | /* $Id: gobject.c,v 1.3 2005-04-23 16:48:51 espen Exp $ */ |
1eed6db4 |
25 | |
26 | #include <glib-object.h> |
27 | |
28 | gpointer g_object_newvv (GType object_type, guint n_parameters, |
29 | guchar* names[], GValue* values[]) |
30 | { |
31 | GParameter parameters[n_parameters]; |
32 | int i; |
33 | |
34 | for (i = 0; i < n_parameters; i++) { |
35 | parameters[i].name = names[i]; |
36 | g_value_init (¶meters[i].value, G_VALUE_TYPE (values[i])); |
37 | g_value_copy (values[i], ¶meters[i].value); |
38 | } |
39 | |
40 | return g_object_newv (object_type, n_parameters, ¶meters); |
41 | } |
42 | |
43 | |
44 | guint size_of_gvalue () |
45 | { |
46 | return sizeof (GValue); |
47 | } |
48 | |
c3bd5478 |
49 | |
50 | GEnumValue* |
51 | g_enum_class_values (GEnumClass *class, guint *n_values) |
52 | { |
53 | *n_values = class->n_values; |
54 | return class->values; |
55 | } |
56 | |
57 | GFlagsValue* |
58 | g_flags_class_values (GFlagsClass *class, guint *n_values) |
59 | { |
60 | *n_values = class->n_values; |
61 | return class->values; |
62 | } |
63 | |