From eaf7cb8ebb7e34f9493ac83b2f04af4dcf45f40f Mon Sep 17 00:00:00 2001 From: Simon van der Linden Date: Fri, 22 Jan 2010 13:41:21 +0100 Subject: Restore the overrides support Add a ModuleProxy in front of the DynamicModule when an overrides module is present. There is no need for an overrides module to be a class; it can just be a module. Add an override decorator to override the wrapper of a registered type. Adapt Gdk and Gtk accordingly. Add tests. https://bugzilla.gnome.org/show_bug.cgi?id=602830 --- tests/libtestgi.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'tests/libtestgi.h') diff --git a/tests/libtestgi.h b/tests/libtestgi.h index 1620096..970d01b 100644 --- a/tests/libtestgi.h +++ b/tests/libtestgi.h @@ -662,4 +662,53 @@ gint *test_gi_int_return_ptr_null (void); void test_gi_int_in_ptr_null (gint *int_); +/* Overrides */ + +#define TESTGI_OVERRIDES_CONSTANT 42 + + +typedef struct { + glong long_; +} TestGIOverridesStruct; + +GType test_gi_overrides_struct_get_type (void) G_GNUC_CONST; + +TestGIOverridesStruct *test_gi_overrides_struct_new (void); + +glong test_gi_overrides_struct_method (TestGIOverridesStruct *struct_); + +TestGIOverridesStruct *test_gi__overrides_struct_return (void); + + +#define TESTGI_TYPE_OVERRIDES_OBJECT (test_gi_overrides_object_get_type ()) +#define TESTGI_OVERRIDES_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TESTGI_TYPE_OVERRIDES_OBJECT, TestGIOverridesObject)) +#define TESTGI_OVERRIDES_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TESTGI_TYPE_OVERRIDES_OBJECT, TestGIOverridesObjectClass)) +#define TESTGI_IS_OVERRIDES_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TESTGI_TYPE_OVERRIDES_OBJECT)) +#define TESTGI_IS_OVERRIDES_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TESTGI_TYPE_OVERRIDES_OBJECT)) +#define TESTGI_OVERRIDES_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TESTGI_TYPE_OVERRIDES_OBJECT, TestGIOverridesObjectClass)) + +typedef struct _TestGIOverridesObjectClass TestGIOverridesObjectClass; +typedef struct _TestGIOverridesObject TestGIOverridesObject; + +struct _TestGIOverridesObjectClass +{ + GObjectClass parent_class; +}; + +struct _TestGIOverridesObject +{ + GObject parent_instance; + + glong long_; +}; + +GType test_gi_overrides_object_get_type (void) G_GNUC_CONST; + +TestGIOverridesObject *test_gi_overrides_object_new (void); + +glong test_gi_overrides_object_method (TestGIOverridesObject *object); + + +TestGIOverridesObject *test_gi__overrides_object_return (void); + #endif /* __TEST_GI_H__ */ -- cgit