PROP_DESCRIPTION
};
-struct _LightDMLayout
+typedef struct
{
- GObject parent_instance;
-
gchar *name;
gchar *short_description;
gchar *description;
-};
+} LightDMLayoutPrivate;
G_DEFINE_TYPE (LightDMLayout, lightdm_layout, G_TYPE_OBJECT);
+#define GET_PRIVATE(obj) G_TYPE_INSTANCE_GET_PRIVATE ((obj), LIGHTDM_TYPE_LAYOUT, LightDMLayoutPrivate)
+
static gboolean have_layouts = FALSE;
static Display *display = NULL;
static XklEngine *xkl_engine = NULL;
lightdm_layout_get_name (LightDMLayout *layout)
{
g_return_val_if_fail (LIGHTDM_IS_LAYOUT (layout), NULL);
- return layout->name;
+ return GET_PRIVATE (layout)->name;
}
/**
lightdm_layout_get_short_description (LightDMLayout *layout)
{
g_return_val_if_fail (LIGHTDM_IS_LAYOUT (layout), NULL);
- return layout->short_description;
+ return GET_PRIVATE (layout)->short_description;
}
/**
lightdm_layout_get_description (LightDMLayout *layout)
{
g_return_val_if_fail (LIGHTDM_IS_LAYOUT (layout), NULL);
- return layout->description;
+ return GET_PRIVATE (layout)->description;
}
static void
GParamSpec *pspec)
{
LightDMLayout *self = LIGHTDM_LAYOUT (object);
+ LightDMLayoutPrivate *priv = GET_PRIVATE (self);
switch (prop_id) {
case PROP_NAME:
- g_free (self->name);
- self->name = g_strdup (g_value_get_string (value));
+ g_free (priv->name);
+ priv->name = g_strdup (g_value_get_string (value));
break;
case PROP_SHORT_DESCRIPTION:
- g_free (self->short_description);
- self->short_description = g_strdup (g_value_get_string (value));
+ g_free (priv->short_description);
+ priv->short_description = g_strdup (g_value_get_string (value));
break;
case PROP_DESCRIPTION:
- g_free (self->description);
- self->description = g_strdup (g_value_get_string (value));
+ g_free (priv->description);
+ priv->description = g_strdup (g_value_get_string (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
lightdm_layout_finalize (GObject *object)
{
LightDMLayout *self = LIGHTDM_LAYOUT (object);
+ LightDMLayoutPrivate *priv = GET_PRIVATE (self);
- g_free (self->name);
- g_free (self->short_description);
- g_free (self->description);
+ g_free (priv->name);
+ g_free (priv->short_description);
+ g_free (priv->description);
}
static void
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ g_type_class_add_private (klass, sizeof (LightDMLayoutPrivate));
+
object_class->set_property = lightdm_layout_set_property;
object_class->get_property = lightdm_layout_get_property;
object_class->finalize = lightdm_layout_finalize;