Added gobject properties
This commit is contained in:
parent
1ca00999e7
commit
53c9403298
|
@ -61,8 +61,13 @@ enum {
|
|||
PROP_0,
|
||||
|
||||
PROP_NAME,
|
||||
PROP_PATH,
|
||||
PROP_ACTIVE,
|
||||
PROP_ACTIVITY
|
||||
PROP_ACTIVITY,
|
||||
PROP_OPTIONS,
|
||||
PROP_STATE,
|
||||
PROP_CURRENT_HOST,
|
||||
PROP_CURRENT_PORT
|
||||
};
|
||||
|
||||
/* Signals */
|
||||
|
@ -128,32 +133,80 @@ gm_world_get_property(GObject *object, guint prop_id, GValue *value,
|
|||
case PROP_NAME:
|
||||
g_value_set_string(value, gm_world_name(world));
|
||||
break;
|
||||
case PROP_PATH:
|
||||
g_value_set_string(value, world->priv->path);
|
||||
break;
|
||||
case PROP_ACTIVE:
|
||||
g_value_set_boolean(value, world->priv->active);
|
||||
break;
|
||||
case PROP_ACTIVITY:
|
||||
g_value_set_int(value, world->priv->activity);
|
||||
break;
|
||||
case PROP_OPTIONS:
|
||||
g_value_set_object(value, world->priv->options);
|
||||
break;
|
||||
case PROP_STATE:
|
||||
g_value_set_int(value, gm_world_state(world));
|
||||
break;
|
||||
case PROP_CURRENT_HOST:
|
||||
g_value_set_string(value, gm_world_current_host(world));
|
||||
break;
|
||||
case PROP_CURRENT_PORT:
|
||||
g_value_set_string(value, gm_world_current_port(world));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gm_world_set_property(GObject *object, guint prop_id, GValue const *value,
|
||||
GParamSpec *pspec) {
|
||||
GmWorld *world = GM_WORLD(object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_ACTIVE:
|
||||
gm_world_set_active(world, g_value_get_boolean(value));
|
||||
break;
|
||||
case PROP_ACTIVITY:
|
||||
gm_world_set_activity(world, g_value_get_int(value));
|
||||
break;
|
||||
}
|
||||
}
|
||||
static void
|
||||
gm_world_class_init(GmWorldClass *klass) {
|
||||
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
||||
|
||||
object_class->finalize = gm_world_finalize;
|
||||
object_class->get_property = gm_world_get_property;
|
||||
object_class->set_property = gm_world_set_property;
|
||||
|
||||
g_object_class_install_property(object_class, PROP_NAME,
|
||||
g_param_spec_string("name", "NAME", "The worlds name", NULL,
|
||||
G_PARAM_READABLE));
|
||||
g_object_class_install_property(object_class, PROP_PATH,
|
||||
g_param_spec_string("path", "PATH", "The worlds path", NULL,
|
||||
G_PARAM_READABLE));
|
||||
g_object_class_install_property(object_class, PROP_ACTIVE,
|
||||
g_param_spec_boolean("active", "ACTIVE", "If world is active",
|
||||
FALSE, G_PARAM_READABLE));
|
||||
FALSE, G_PARAM_READABLE | G_PARAM_WRITABLE));
|
||||
g_object_class_install_property(object_class, PROP_ACTIVITY,
|
||||
g_param_spec_boolean("activity", "ACTIVITY", "Lines of activity",
|
||||
0, G_PARAM_READABLE | G_PARAM_WRITABLE));
|
||||
g_object_class_install_property(object_class, PROP_OPTIONS,
|
||||
g_param_spec_object("options", "OPTIONS", "Options object",
|
||||
GM_TYPE_OPTIONS, G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property(object_class, PROP_STATE,
|
||||
g_param_spec_int("state", "STATE", "World state",
|
||||
0, GM_NET_STATE_END, 0, G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property(object_class, PROP_CURRENT_HOST,
|
||||
g_param_spec_string("current_host", "CURRENT_HOST", "Current host",
|
||||
0, G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property(object_class, PROP_CURRENT_PORT,
|
||||
g_param_spec_string("current_port", "CURRENT_PORT", "Current port",
|
||||
0, G_PARAM_READABLE));
|
||||
|
||||
world_signals[ACTIVATE_REQUEST] =
|
||||
g_signal_new("activate_request",
|
||||
G_OBJECT_CLASS_TYPE(object_class),
|
||||
|
|
Reference in New Issue