Initial import
This commit is contained in:
4
libwmud-world/Makefile.am
Normal file
4
libwmud-world/Makefile.am
Normal file
@@ -0,0 +1,4 @@
|
||||
lib_LTLIBRARIES = libwmud-world-1.0.la
|
||||
libwmud_world_1_0_la_SOURCES = wmud-world.c
|
||||
libwmud_world_1_0_la_CFLAGS = $(CFLAGS) $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) $(GNET_CFLAGS) -Wall
|
||||
libwmud_world_1_0_la_LIBADD = $(LIBS) $(GLIB_LIBS) $(GOBJECT_LIBS) $(GNET_LIBS)
|
104
libwmud-world/wmud-world.c
Normal file
104
libwmud-world/wmud-world.c
Normal file
@@ -0,0 +1,104 @@
|
||||
#include "wmud-world.h"
|
||||
|
||||
#define WMUD_WORLD_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WMUD_TYPE_WORLD, wMUDWorldPrivate))
|
||||
|
||||
struct _wMUDWorldPrivate
|
||||
{
|
||||
gchar *name;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_NAME
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE(wMUDWorld, wmud_world, G_TYPE_OBJECT);
|
||||
|
||||
static void
|
||||
wmud_world_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
wMUDWorld *self = WMUD_WORLD(object);
|
||||
|
||||
switch (property_id)
|
||||
{
|
||||
case PROP_NAME:
|
||||
g_free(self->priv->name);
|
||||
self->priv->name = g_value_dup_string(value);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
wmud_world_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
wMUDWorld *self = WMUD_WORLD(object);
|
||||
|
||||
switch (property_id)
|
||||
{
|
||||
case PROP_NAME:
|
||||
g_value_set_string(value, self->priv->name);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
wmud_world_dispose(GObject *object)
|
||||
{
|
||||
G_OBJECT_CLASS(wmud_world_parent_class)->dispose(object);
|
||||
}
|
||||
|
||||
static void
|
||||
wmud_world_finalize(GObject *object)
|
||||
{
|
||||
wMUDWorld *self = WMUD_WORLD(object);
|
||||
|
||||
if (self->priv->name)
|
||||
{
|
||||
g_free(self->priv->name);
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS(wmud_world_parent_class)->finalize(object);
|
||||
}
|
||||
|
||||
static void
|
||||
wmud_world_class_init(wMUDWorldClass *klass)
|
||||
{
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
|
||||
GParamSpec *wmud_world_param_spec;
|
||||
|
||||
gobject_class->set_property = wmud_world_set_property;
|
||||
gobject_class->get_property = wmud_world_get_property;
|
||||
gobject_class->dispose = wmud_world_dispose;
|
||||
gobject_class->finalize = wmud_world_finalize;
|
||||
|
||||
g_type_class_add_private(klass, sizeof(wMUDWorldPrivate));
|
||||
|
||||
wmud_world_param_spec = g_param_spec_string("name", "World name", "Set the name of the world", NULL, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
|
||||
g_object_class_install_property(gobject_class, PROP_NAME, wmud_world_param_spec);
|
||||
}
|
||||
|
||||
static void
|
||||
wmud_world_init(wMUDWorld *self)
|
||||
{
|
||||
wMUDWorldPrivate *priv;
|
||||
|
||||
self->priv = priv = WMUD_WORLD_GET_PRIVATE(self);
|
||||
|
||||
priv->name = NULL;
|
||||
}
|
||||
|
||||
wMUDWorld *
|
||||
wmud_world_new(void)
|
||||
{
|
||||
wMUDWorld *new_world = g_object_new(WMUD_TYPE_WORLD, NULL);
|
||||
|
||||
return new_world;
|
||||
}
|
||||
|
34
libwmud-world/wmud-world.h
Normal file
34
libwmud-world/wmud-world.h
Normal file
@@ -0,0 +1,34 @@
|
||||
#ifndef __WMUD_WORLD_H__
|
||||
#define __WMUD_WORLD_H__
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#define WMUD_TYPE_WORLD wmud_world_get_type()
|
||||
#define WMUD_WORLD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WMUD_TYPE_WORLD, wMUDWorld))
|
||||
#define WMUD_IS_WORLD(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WMUD_TYPE_WORLD))
|
||||
#define WMUD_WORLD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WMUD_TYPE_WORLD, wMUDWorldClass))
|
||||
#define WMUD_IS_WORLD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WMUD_TYPE_WORLD))
|
||||
#define WMUD_WORLD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WMUD_TYPE_WORLD, wMUDWorldClass))
|
||||
|
||||
typedef struct _wMUDWorld wMUDWorld;
|
||||
typedef struct _wMUDWorldClass wMUDWorldClass;
|
||||
typedef struct _wMUDWorldPrivate wMUDWorldPrivate;
|
||||
|
||||
struct _wMUDWorld
|
||||
{
|
||||
GObject parent_object;
|
||||
|
||||
wMUDWorldPrivate *priv;
|
||||
};
|
||||
|
||||
struct _wMUDWorldClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
GType wmud_world_get_type(void);
|
||||
|
||||
wMUDWorld *wmud_world_new(void);
|
||||
|
||||
#endif /* __WMUD_WORLD_H__ */
|
||||
|
Reference in New Issue
Block a user