X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/1eed6db4fed128d71e598fb9935c0e58f3c34b21..2ce62a298dd6b334eb130950fcceff56aa3d5421:/glib/alien/gobject.c diff --git a/glib/alien/gobject.c b/glib/alien/gobject.c index 89b910a..58cdc56 100644 --- a/glib/alien/gobject.c +++ b/glib/alien/gobject.c @@ -1,25 +1,52 @@ -/* $Id: gobject.c,v 1.1 2004-10-27 15:07:46 espen Exp $ */ +/* Common Lisp bindings for GTK+ v2.x + * Copyright 1999-2005 Espen S. Johnsen + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* $Id: gobject.c,v 1.5 2007-02-23 12:48:46 espen Exp $ */ #include -gpointer g_object_newvv (GType object_type, guint n_parameters, - guchar* names[], GValue* values[]) +guint size_of_gvalue () { - GParameter parameters[n_parameters]; - int i; - - for (i = 0; i < n_parameters; i++) { - parameters[i].name = names[i]; - g_value_init (¶meters[i].value, G_VALUE_TYPE (values[i])); - g_value_copy (values[i], ¶meters[i].value); - } + return sizeof (GValue); +} - return g_object_newv (object_type, n_parameters, ¶meters); +guint bitsize_of_gtype () +{ + return sizeof (GType) * 8; } -guint size_of_gvalue () +GEnumValue* +g_enum_class_values (GEnumClass *class, guint *n_values) { - return sizeof (GValue); + *n_values = class->n_values; + return class->values; +} + +GFlagsValue* +g_flags_class_values (GFlagsClass *class, guint *n_values) +{ + *n_values = class->n_values; + return class->values; }