From f34397e432451371785161b7445dd27d04aceff5 Mon Sep 17 00:00:00 2001 From: Bradley Smith Date: Sun, 9 Mar 2008 18:59:08 +0000 Subject: Change x11plugin GType style. Signed-off-by: Bradley Smith --- ChangeLog | 4 +++- lib/x11plugin.c | 62 ++++++++++----------------------------------------------- lib/x11plugin.h | 28 +++++++++++++------------- 3 files changed, 27 insertions(+), 67 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ced7c6..d331819 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,10 +10,12 @@ Removed getopt. * various: Correct copyright headers. - * include/grobot.h src/grobot.c src/map.c include/map.h: + * include/grobot.h src/grobot.c src/map.c include/map.h lib/x11plugin.c + lib/x11plugin.h: Tidy up, and convert GObject style. * src/userinterface.c include/userinterface.h: Tidy up. + * lib/x11plugin.c: 2008-03-08 Bradley Smith diff --git a/lib/x11plugin.c b/lib/x11plugin.c index a051ffa..0d9436b 100644 --- a/lib/x11plugin.c +++ b/lib/x11plugin.c @@ -29,19 +29,19 @@ #include #include +static GType _parent_type = 0; +static void x11_plugin_interface_init(gpointer g_iface, + gpointer iface_data); + +G_DEFINE_TYPE_WITH_CODE(X11Plugin, x11_plugin, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE(_parent_type, x11_plugin_interface_init)) + enum { ARG_0, ARG_MAP }; -GType _x11_plugin_type = 0; -static GType _parent_type = 0; - -static void x11_plugin_class_init (X11PluginClass * klass); -static void x11_plugin_init (GObject * object); -static void x11_plugin_interface_init (gpointer g_iface, gpointer iface_data); - static GObject * x11_plugin_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties); @@ -59,51 +59,11 @@ static void put_tile (X11Plugin *x11, XImage *image, gint x, gint y); static void put_winbuf (X11Plugin *x11); static void setup_winbuf (X11Plugin *x11); void create_image (X11Plugin *x11, gchar **data, XImage ** image); -inline void x11_plugin_update_status (X11Plugin *x11, - const gchar *s, - glong energy, - glong score, - glong shields); +inline void x11_plugin_update_status (X11Plugin *x11, const gchar *s, + glong energy, glong score, glong shields); static GObjectClass *parent_class = NULL; -GType -x11_plugin_get_type (void) -{ - if (!_x11_plugin_type) { - static const GTypeInfo object_info = { - sizeof (X11PluginClass), - NULL, - NULL, - (GClassInitFunc) x11_plugin_class_init, - NULL, - NULL, - sizeof (X11Plugin), - 0, - (GInstanceInitFunc) x11_plugin_init, - NULL - }; - - static const GInterfaceInfo interface_info = { - (GInterfaceInitFunc) x11_plugin_interface_init, - NULL, - NULL - }; - - _x11_plugin_type = - g_type_register_static (G_TYPE_OBJECT, - "X11Plugin", - &object_info, - 0); - - g_type_add_interface_static (_x11_plugin_type, - _parent_type, - &interface_info); - } - - return _x11_plugin_type; -} - static void x11_plugin_class_init (X11PluginClass * klass) { @@ -123,10 +83,8 @@ x11_plugin_class_init (X11PluginClass * klass) } static void -x11_plugin_init (GObject * object) +x11_plugin_init (X11Plugin* x11) { - X11Plugin *x11 = X11_PLUGIN (object); - x11->map = NULL; x11->map_size = NULL; } diff --git a/lib/x11plugin.h b/lib/x11plugin.h index d8b4550..05be8c2 100644 --- a/lib/x11plugin.h +++ b/lib/x11plugin.h @@ -32,6 +32,20 @@ G_BEGIN_DECLS +#define G_TYPE_X11_PLUGIN x11_plugin_get_type() +#define G_IS_X11_PLUGIN(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ + G_TYPE_X11_PLUGIN) +#define G_IS_X11_PLUGIN_CLASS(klass) G_TYPE_CHECK_CLASS_TYPE ((klass), \ + G_TYPE_X11_PLUGIN) +#define X11_PLUGIN_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS ((obj), \ + G_TYPE_X11_PLUGIN, \ + X11PluginClass) +#define X11_PLUGIN(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), \ + G_TYPE_X11_PLUGIN, X11Plugin) +#define X11_PLUGIN_CLASS(klass) G_TYPE_CHECK_CLASS_CAST ((klass), \ + G_TYPE_X11_PLUGIN, \ + X11PluginClass) + typedef struct _X11Plugin X11Plugin; typedef struct _X11PluginClass X11PluginClass; @@ -77,20 +91,6 @@ struct _X11PluginClass { GObjectClass parent_class; }; -#define G_TYPE_X11_PLUGIN (x11_plugin_get_type()) -#define G_IS_X11_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - G_TYPE_X11_PLUGIN)) -#define G_IS_X11_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - G_TYPE_X11_PLUGIN)) -#define X11_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - G_TYPE_X11_PLUGIN, \ - X11PluginClass)) -#define X11_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - G_TYPE_X11_PLUGIN, X11Plugin)) -#define X11_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \ - G_TYPE_X11_PLUGIN, \ - X11PluginClass)) - /* normal GObject stuff */ GType x11_plugin_get_type (void); -- cgit v1.1