summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-09-26 14:28:40 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-09-26 16:30:46 +0100
commitaa407653e274480ae63b21017869e07de3a1aa4e (patch)
tree457aa101d5ddb7e5d50bcee1b805478067460967 /examples
parente6ac4848a0e613087b024af9f4c21fec3ee509ef (diff)
downloadtelepathy-glib-aa407653e274480ae63b21017869e07de3a1aa4e.tar.gz
Make more use of tp_value_array_unpack, tp_value_array_build
As well as being less code, they're not flagged as deprecated. This requires a bit of extra copying, because there's no tp_value_array_unpack_dup() or tp_value_array_build_take(), but it seems worth it. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69849 Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
Diffstat (limited to 'examples')
-rw-r--r--examples/client/extended-client.c13
-rw-r--r--examples/cm/contactlist/conn.c12
-rw-r--r--examples/cm/extended/conn.c42
3 files changed, 27 insertions, 40 deletions
diff --git a/examples/client/extended-client.c b/examples/client/extended-client.c
index 55e3086e2..117223179 100644
--- a/examples/client/extended-client.c
+++ b/examples/client/extended-client.c
@@ -71,14 +71,15 @@ got_hats_cb (TpConnection *conn,
for (i = 0; i < hats->len; i++)
{
GValueArray *vals = g_ptr_array_index (hats, i);
+ guint handle;
+ const gchar *color;
+ guint style;
+ GHashTable *details;
+ tp_value_array_unpack (vals, 4,
+ &handle, &color, &style, &details);
g_message ("Contact #%u has hat style %u, color \"%s\", with %u "
- "properties",
- g_value_get_uint (g_value_array_get_nth (vals, 0)),
- g_value_get_uint (g_value_array_get_nth (vals, 2)),
- g_value_get_string (g_value_array_get_nth (vals, 1)),
- g_hash_table_size (g_value_get_boxed (g_value_array_get_nth (vals,
- 3))));
+ "properties", handle, style, color, g_hash_table_size (details));
}
tp_cli_connection_call_disconnect (conn, -1, disconnect_cb,
diff --git a/examples/cm/contactlist/conn.c b/examples/cm/contactlist/conn.c
index a28ae8547..bc7876ce4 100644
--- a/examples/cm/contactlist/conn.c
+++ b/examples/cm/contactlist/conn.c
@@ -163,14 +163,10 @@ alias_updated_cb (ExampleContactList *contact_list,
GPtrArray *aliases;
GValueArray *pair;
- pair = g_value_array_new (2);
- g_value_array_append (pair, NULL);
- g_value_array_append (pair, NULL);
- g_value_init (pair->values + 0, G_TYPE_UINT);
- g_value_init (pair->values + 1, G_TYPE_STRING);
- g_value_set_uint (pair->values + 0, contact);
- g_value_set_string (pair->values + 1,
- example_contact_list_get_alias (contact_list, contact));
+ pair = tp_value_array_build (2,
+ G_TYPE_UINT, contact,
+ G_TYPE_STRING, example_contact_list_get_alias (contact_list, contact),
+ G_TYPE_INVALID);
aliases = g_ptr_array_sized_new (1);
g_ptr_array_add (aliases, pair);
diff --git a/examples/cm/extended/conn.c b/examples/cm/extended/conn.c
index 873fcf2b0..c92076f4e 100644
--- a/examples/cm/extended/conn.c
+++ b/examples/cm/extended/conn.c
@@ -274,40 +274,30 @@ my_get_hats (ExampleSvcConnectionInterfaceHats *iface,
for (i = 0; i < contacts->len; i++)
{
TpHandle handle = g_array_index (contacts, guint, i);
- GValueArray *vals = g_value_array_new (4);
-
- g_value_array_append (vals, NULL);
- g_value_init (g_value_array_get_nth (vals, 0), G_TYPE_UINT);
- g_value_set_uint (g_value_array_get_nth (vals, 0), handle);
-
- g_value_array_append (vals, NULL);
- g_value_init (g_value_array_get_nth (vals, 1), G_TYPE_STRING);
-
- g_value_array_append (vals, NULL);
- g_value_init (g_value_array_get_nth (vals, 2), G_TYPE_UINT);
-
- g_value_array_append (vals, NULL);
- g_value_init (g_value_array_get_nth (vals, 3),
- TP_HASH_TYPE_STRING_VARIANT_MAP);
+ GValueArray *vals;
/* for the sake of a simple example, let's assume nobody except me
* has any hats */
if (handle == tp_base_connection_get_self_handle (base))
{
- g_value_set_string (g_value_array_get_nth (vals, 1),
- self->priv->hat_color);
- g_value_set_uint (g_value_array_get_nth (vals, 2),
- self->priv->hat_style);
- g_value_set_boxed (g_value_array_get_nth (vals, 3),
- self->priv->hat_properties);
+ vals = tp_value_array_build (4,
+ G_TYPE_UINT, handle,
+ G_TYPE_STRING, self->priv->hat_color,
+ G_TYPE_UINT, self->priv->hat_style,
+ TP_HASH_TYPE_STRING_VARIANT_MAP, self->priv->hat_properties,
+ G_TYPE_INVALID);
}
else
{
- g_value_set_static_string (g_value_array_get_nth (vals, 1), "");
- g_value_set_uint (g_value_array_get_nth (vals, 2),
- EXAMPLE_HAT_STYLE_NONE);
- g_value_take_boxed (g_value_array_get_nth (vals, 3),
- g_hash_table_new (NULL, NULL));
+ GHashTable *empty = g_hash_table_new (g_str_hash, g_str_equal);
+
+ vals = tp_value_array_build (4,
+ G_TYPE_UINT, handle,
+ G_TYPE_STRING, "",
+ G_TYPE_UINT, EXAMPLE_HAT_STYLE_NONE,
+ TP_HASH_TYPE_STRING_VARIANT_MAP, empty,
+ G_TYPE_INVALID);
+ g_hash_table_unref (empty);
}
g_ptr_array_add (ret, vals);