summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBradley Smith2008-03-09 18:59:08 +0000
committerBradley Smith2008-03-09 18:59:08 +0000
commitf34397e432451371785161b7445dd27d04aceff5 (patch)
treedba7af7b8651ceaa95ac22e6e0828fd5a2f129a7
parentMisc cleanups and GType style conversion. (diff)
downloadgnurobots-f34397e432451371785161b7445dd27d04aceff5.tar.gz
Change x11plugin GType style.
Signed-off-by: Bradley Smith <brad@brad-smith.co.uk>
-rw-r--r--ChangeLog4
-rw-r--r--lib/x11plugin.c62
-rw-r--r--lib/x11plugin.h28
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 <brad@brad-smith.co.uk>
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 <readline.h>
#include <history.h>
+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);