diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-05-05 13:33:48 +0100 |
---|---|---|
committer | Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk> | 2010-06-29 20:31:57 -0300 |
commit | db301466e838a67049d36ec73d324230c9170f98 (patch) | |
tree | 9abb263d4eef9ffdc2e6e7b82a073af53bed5a3e /telepathy-glib/base-connection-manager.c | |
parent | 51055389a10b4d0182c3da683a6ef56a59fdaa90 (diff) |
TpBaseConnectionManager: implement the keys of Protocols
Diffstat (limited to 'telepathy-glib/base-connection-manager.c')
-rw-r--r-- | telepathy-glib/base-connection-manager.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/telepathy-glib/base-connection-manager.c b/telepathy-glib/base-connection-manager.c index ca137c006..ff8abd269 100644 --- a/telepathy-glib/base-connection-manager.c +++ b/telepathy-glib/base-connection-manager.c @@ -400,19 +400,22 @@ tp_base_connection_manager_get_property (GObject *object, { GHashTable *map = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_hash_table_unref); - GHashTable *empty = tp_asv_new (NULL, NULL); GHashTableIter iter; - gpointer name; + gpointer name, protocol; g_hash_table_iter_init (&iter, self->priv->protocols); - while (g_hash_table_iter_next (&iter, &name, NULL)) + while (g_hash_table_iter_next (&iter, &name, &protocol)) { - g_hash_table_insert (map, g_strdup (name), - g_hash_table_ref (empty)); + GHashTable *props; + + g_object_get (protocol, + "immutable-properties", &props, + NULL); + + g_hash_table_insert (map, g_strdup (name), props); } - g_hash_table_unref (empty); g_value_take_boxed (value, map); } break; |