[maemo-commits] [maemo-commits] r15308 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Mar 19 13:00:44 EET 2008
- Previous message: [maemo-commits] r15307 - projects/haf/tags/osso-gnomevfs-extra
- Next message: [maemo-commits] r15309 - in projects/haf/trunk/hildon-desktop: . doc/libhildondesktop/tmpl src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: lucasr Date: 2008-03-19 13:00:42 +0200 (Wed, 19 Mar 2008) New Revision: 15308 Modified: projects/haf/trunk/hildon-desktop/ChangeLog projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.c projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.h Log: 2008-03-19 Lucas Rocha <lucas.rocha at nokia.com> * libhildondesktop/hildon-desktop-item.[ch]: move new properties of HildonDesktopItem to a private struct in order to keep ABI backwards compatibility. Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2008-03-19 10:53:24 UTC (rev 15307) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2008-03-19 11:00:42 UTC (rev 15308) @@ -1,3 +1,9 @@ +2008-03-19 Lucas Rocha <lucas.rocha at nokia.com> + + * libhildondesktop/hildon-desktop-item.[ch]: move new properties of + HildonDesktopItem to a private struct in order to keep ABI backwards + compatibility. + 2008-03-13 Lucas Rocha <lucas.rocha at nokia.com> Added support for having several instances of the same type of plugins Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.c 2008-03-19 10:53:24 UTC (rev 15307) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.c 2008-03-19 11:00:42 UTC (rev 15308) @@ -25,11 +25,19 @@ #include "hildon-desktop-item.h" +typedef struct _HildonDesktopItemPrivate HildonDesktopItemPrivate; + #define HILDON_DESKTOP_ITEM_GET_PRIVATE(object) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((object), HILDON_DESKTOP_TYPE_ITEM, HildonDesktopItem)) + (G_TYPE_INSTANCE_GET_PRIVATE ((object), HILDON_DESKTOP_TYPE_ITEM, HildonDesktopItemPrivate)) G_DEFINE_TYPE (HildonDesktopItem, hildon_desktop_item, GTK_TYPE_BIN); +struct _HildonDesktopItemPrivate +{ + gchar *resource; + gboolean temporary; +}; + enum { SIGNAL_CREATE, @@ -127,16 +135,22 @@ "Plugin is temporary", FALSE, G_PARAM_CONSTRUCT | G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (HildonDesktopItemPrivate)); } static void hildon_desktop_item_init (HildonDesktopItem *item) { + HildonDesktopItemPrivate *priv; + g_return_if_fail (item); + priv = HILDON_DESKTOP_ITEM_GET_PRIVATE (item); + item->id = NULL; - item->resource = NULL; item->name = NULL; + priv->resource = NULL; item->geometry.x = item->geometry.y = -1; item->geometry.width = item->geometry.height = -1; @@ -194,6 +208,7 @@ hildon_desktop_item_finalize (GObject *object) { HildonDesktopItem *item = HILDON_DESKTOP_ITEM (object); + HildonDesktopItemPrivate *priv = HILDON_DESKTOP_ITEM_GET_PRIVATE (object); if (item->id) { @@ -201,10 +216,10 @@ item->id = NULL; } - if (item->resource) + if (priv->resource) { - g_free (item->resource); - item->resource = NULL; + g_free (priv->resource); + priv->resource = NULL; } if (item->name) @@ -223,11 +238,14 @@ GParamSpec *pspec) { HildonDesktopItem *item; + HildonDesktopItemPrivate *priv; g_assert (object && HILDON_DESKTOP_IS_ITEM (object)); item = HILDON_DESKTOP_ITEM (object); + priv = HILDON_DESKTOP_ITEM_GET_PRIVATE (object); + switch (prop_id) { case PROP_ID: @@ -236,8 +254,8 @@ break; case PROP_RESOURCE: - g_free (item->resource); - item->resource = g_strdup (g_value_get_string (value)); + g_free (priv->resource); + priv->resource = g_strdup (g_value_get_string (value)); break; case PROP_NAME: @@ -250,7 +268,7 @@ break; case PROP_TEMPORARY: - item->temporary = g_value_get_boolean (value); + priv->temporary = g_value_get_boolean (value); break; default: @@ -266,11 +284,14 @@ GParamSpec *pspec) { HildonDesktopItem *item; + HildonDesktopItemPrivate *priv; g_assert (object && HILDON_DESKTOP_IS_ITEM (object)); item = HILDON_DESKTOP_ITEM (object); + priv = HILDON_DESKTOP_ITEM_GET_PRIVATE (object); + switch (prop_id) { case PROP_ID: @@ -278,7 +299,7 @@ break; case PROP_RESOURCE: - g_value_set_string (value,item->resource); + g_value_set_string (value,priv->resource); break; case PROP_NAME: @@ -290,7 +311,7 @@ break; case PROP_TEMPORARY: - g_value_set_boolean (value,item->temporary); + g_value_set_boolean (value,priv->temporary); break; default: @@ -341,9 +362,13 @@ const gchar * hildon_desktop_item_get_resource (HildonDesktopItem *item) { + HildonDesktopItemPrivate *priv; + g_return_val_if_fail (item && HILDON_DESKTOP_IS_ITEM (item),NULL); - return item->resource; + priv = HILDON_DESKTOP_ITEM_GET_PRIVATE (item); + + return priv->resource; } /** Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.h =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.h 2008-03-19 10:53:24 UTC (rev 15307) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-item.h 2008-03-19 11:00:42 UTC (rev 15308) @@ -47,14 +47,10 @@ gchar *id; - gchar *resource; - gchar *name; gboolean mandatory; - gboolean temporary; - GdkRectangle geometry; };
- Previous message: [maemo-commits] r15307 - projects/haf/tags/osso-gnomevfs-extra
- Next message: [maemo-commits] r15309 - in projects/haf/trunk/hildon-desktop: . doc/libhildondesktop/tmpl src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]