[Telepathy-commits] [telepathy-mission-control/master] Use tp-glib utility functions to handle GValues in GSlices

Alberto Mardegan alberto.mardegan at nokia.com
Mon Nov 17 00:05:21 PST 2008


As suggested, use tp_g_value_slice_{new,free} to allocate and destroy GValues.
---
 src/mcd-account-compat.c |   15 ++++++---------
 src/mcd-account.c        |    3 ++-
 src/mcd-misc.c           |    8 --------
 src/mcd-misc.h           |    2 --
 4 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/src/mcd-account-compat.c b/src/mcd-account-compat.c
index 67b2501..68e7ca2 100644
--- a/src/mcd-account-compat.c
+++ b/src/mcd-account-compat.c
@@ -305,32 +305,29 @@ _mcd_account_compat_request_channel_nmc4 (McdAccount *account,
     GValue *value;
 
     properties = g_hash_table_new_full (g_str_hash, g_str_equal,
-                                        NULL, _mcd_prop_value_free);
+                                        NULL,
+                                        (GDestroyNotify)tp_g_value_slice_free);
 
-    value = g_slice_new0 (GValue);
-    g_value_init (value, G_TYPE_STRING);
+    value = tp_g_value_slice_new (G_TYPE_STRING);
     g_value_set_string (value, req->channel_type);
     g_hash_table_insert (properties, TP_IFACE_CHANNEL ".ChannelType", value);
 
     if (req->channel_handle_string)
     {
-        value = g_slice_new0 (GValue);
-        g_value_init (value, G_TYPE_STRING);
+        value = tp_g_value_slice_new (G_TYPE_STRING);
         g_value_set_string (value, req->channel_handle_string);
         g_hash_table_insert (properties, TP_IFACE_CHANNEL ".TargetID", value);
     }
 
     if (req->channel_handle)
     {
-        value = g_slice_new0 (GValue);
-        g_value_init (value, G_TYPE_UINT);
+        value = tp_g_value_slice_new (G_TYPE_UINT);
         g_value_set_uint (value, req->channel_handle);
         g_hash_table_insert (properties, TP_IFACE_CHANNEL ".TargetHandle",
                              value);
     }
 
-    value = g_slice_new0 (GValue);
-    g_value_init (value, G_TYPE_UINT);
+    value = tp_g_value_slice_new (G_TYPE_UINT);
     g_value_set_uint (value, req->channel_handle_type);
     g_hash_table_insert (properties, TP_IFACE_CHANNEL ".TargetHandleType",
                          value);
diff --git a/src/mcd-account.c b/src/mcd-account.c
index 9ce5241..7f0a2ba 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -1604,7 +1604,8 @@ mcd_account_get_parameters (McdAccount *account)
     if (!priv->manager && !load_manager (priv)) return NULL;
 
     params = g_hash_table_new_full (g_str_hash, g_str_equal,
-				    g_free, _mcd_prop_value_free);
+				    g_free,
+                                    (GDestroyNotify)tp_g_value_slice_free);
     parameters = mcd_manager_get_parameters (priv->manager,
 					     priv->protocol_name);
     if (!parameters) return params;
diff --git a/src/mcd-misc.c b/src/mcd-misc.c
index 1d13334..4ec79de 100644
--- a/src/mcd-misc.c
+++ b/src/mcd-misc.c
@@ -87,11 +87,3 @@ _mcd_xdg_data_subdir_foreach (const gchar *subdir,
     }
 }
 
-void
-_mcd_prop_value_free (gpointer data)
-{
-  GValue *value = (GValue *) data;
-  g_value_unset (value);
-  g_slice_free (GValue, value);
-}
-
diff --git a/src/mcd-misc.h b/src/mcd-misc.h
index 419b29b..7185041 100644
--- a/src/mcd-misc.h
+++ b/src/mcd-misc.h
@@ -38,7 +38,5 @@ void _mcd_xdg_data_subdir_foreach (const gchar *subdir,
                                    McdXdgDataSubdirFunc callback,
                                    gpointer user_data);
 
-void _mcd_prop_value_free (gpointer data);
-
 G_END_DECLS
 #endif /* MCD_MISC_H */
-- 
1.5.6.5




More information about the Telepathy-commits mailing list