From ca0b5b6a4693c20e6750e6c055bb833c79a78ba2 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 05 May 2009 16:33:55 +0000 Subject: Add an interface to Everything --- diff --git a/tests/everything/everything.c b/tests/everything/everything.c index 7348a50..5e3e7ad 100644 --- a/tests/everything/everything.c +++ b/tests/everything/everything.c @@ -1004,3 +1004,25 @@ test_callback_infinte (TestCallbackUserData callback, return callback(user_data); } +/* interface */ + +static void +test_interface_class_init(void *g_iface) +{ +} + +GType +test_interface_get_type(void) +{ + static GType type = 0; + if (type == 0) { + type = g_type_register_static_simple (G_TYPE_INTERFACE, + "TestInterface", + sizeof (TestInterfaceIface), + (GClassInitFunc) test_interface_class_init, + 0, NULL, 0); + } + + return type; +} + diff --git a/tests/everything/everything.h b/tests/everything/everything.h index b62b8bf..2af628f 100644 --- a/tests/everything/everything.h +++ b/tests/everything/everything.h @@ -226,5 +226,18 @@ int test_callback_thaw_notifications (void); int test_callback_infinte (TestCallbackUserData callback, gpointer user_data); +/* interface */ +#define TEST_TYPE_INTERFACE (test_interface_get_type ()) +#define TEST_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TEST_TYPE_INTERFACE, TestInterface)) +#define TEST_IS_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TEST_TYPE_INTERFACE)) +#define TEST_INTERFACE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TEST_TYPE_INTERFACE, TestInterfaceIface)) + +typedef struct _TestInterfaceIface TestInterfaceIface; + +struct _TestInterfaceIface { + GTypeInterface base_iface; +}; + +GType test_interface_get_type (void) G_GNUC_CONST; #endif /* __GITESTTYPES_H__ */ -- cgit v0.9.1