diff options
author | Tim Janik <timj@gtk.org> | 2006-05-02 13:01:10 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2006-05-02 13:01:10 +0000 |
commit | a7e1f29f034eb2f78aa923346ccb7b5c49424fbc (patch) | |
tree | b4c496337cd46faffda764f86336d42415ce1044 | |
parent | f2649abe84a3a8af2dc5ab115f0410068ee4518f (diff) |
added test code from Behdad Esfahbod, see #337128.
Tue May 2 15:00:00 2006 Tim Janik <timj@gtk.org>
* tests/gobject/deftype.c: added test code from Behdad Esfahbod,
see #337128.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-12 | 5 | ||||
-rw-r--r-- | tests/gobject/Makefile.am | 1 | ||||
-rw-r--r-- | tests/gobject/deftype.c | 59 |
4 files changed, 70 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Tue May 2 15:00:00 2006 Tim Janik <timj@gtk.org> + + * tests/gobject/deftype.c: added test code from Behdad Esfahbod, + see #337128. + Tue May 2 14:18:25 2006 Tim Janik <timj@gtk.org> * glib/goption.c (g_option_context_parse): fixed leak in short diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index b70598e58..0d27dc922 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,8 @@ +Tue May 2 15:00:00 2006 Tim Janik <timj@gtk.org> + + * tests/gobject/deftype.c: added test code from Behdad Esfahbod, + see #337128. + Tue May 2 14:18:25 2006 Tim Janik <timj@gtk.org> * glib/goption.c (g_option_context_parse): fixed leak in short diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am index 98a1d495b..5d7e01bea 100644 --- a/tests/gobject/Makefile.am +++ b/tests/gobject/Makefile.am @@ -46,6 +46,7 @@ CLEANFILES = stamp-testmarshal.h LDADD = libtestgobject.la $(libgobject) test_programs = \ + deftype \ gvalue-test \ paramspec-test \ accumulator \ diff --git a/tests/gobject/deftype.c b/tests/gobject/deftype.c new file mode 100644 index 000000000..924e7ad60 --- /dev/null +++ b/tests/gobject/deftype.c @@ -0,0 +1,59 @@ +/* deftype.c + * Copyright (C) 2006 Behdad Esfahbod + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307, USA. + */ +#include <glib-object.h> + +/* see http://bugzilla.gnome.org/show_bug.cgi?id=337128 for the purpose of this test */ + +#define MY_G_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init) { \ + static const GInterfaceInfo g_implement_interface_info = { \ + (GInterfaceInitFunc) iface_init, \ + NULL, \ + NULL \ + }; \ + g_type_add_interface_static (g_define_type_id, TYPE_IFACE, &g_implement_interface_info); \ +} + +#define MY_DEFINE_TYPE(TN, t_n, T_P) \ + G_DEFINE_TYPE_WITH_CODE (TN, t_n, T_P, \ + MY_G_IMPLEMENT_INTERFACE (G_TYPE_INTERFACE, NULL)) + +typedef struct _TypeName { + GObject parent_instance; + const char *name; +} TypeName; + +typedef struct _TypeNameClass { + GObjectClass parent_parent; +} TypeNameClass; + +MY_DEFINE_TYPE (TypeName, type_name, G_TYPE_OBJECT) + +static void type_name_init (TypeName *self) +{ +} + +static void type_name_class_init (TypeNameClass *klass) +{ +} + +int +main (void) +{ + return 0; +} |