[Telepathy-commits] [telepathy-gabble/master] Use TpChannelManagerIter to iterate over channel managers.
Alban Crequy
alban.crequy at collabora.co.uk
Fri Dec 5 09:42:35 PST 2008
---
src/connection.c | 25 ++++++++++++++-----------
src/presence-cache.c | 9 ++++++---
2 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/src/connection.c b/src/connection.c
index 7078aea..72cd7d9 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -2116,12 +2116,13 @@ static void
gabble_connection_get_handle_contact_capabilities (GabbleConnection *self,
TpHandle handle, GPtrArray *arr)
{
- guint i;
+ TpBaseConnection *base_conn = TP_BASE_CONNECTION (self);
+ TpChannelManagerIter iter;
+ TpChannelManager *manager;
- for (i = 0; i < self->channel_managers->len; i++)
+ tp_base_connection_channel_manager_iter_init (&iter, base_conn);
+ while (tp_base_connection_channel_manager_iter_next (&iter, &manager))
{
- gpointer manager = g_ptr_array_index (self->channel_managers, i);
-
/* some channel managers does not implement the capability interface */
if (!GABBLE_IS_CAPS_CHANNEL_MANAGER (manager))
continue;
@@ -2138,13 +2139,15 @@ _emit_contact_capabilities_changed (GabbleConnection *conn,
GHashTable *old_caps,
GHashTable *new_caps)
{
+ TpBaseConnection *base_conn = TP_BASE_CONNECTION (conn);
+ TpChannelManagerIter iter;
+ TpChannelManager *manager;
GPtrArray *ret;
gboolean diff = FALSE;
- guint i;
- for (i = 0; i < conn->channel_managers->len; i++)
+ tp_base_connection_channel_manager_iter_init (&iter, base_conn);
+ while (tp_base_connection_channel_manager_iter_next (&iter, &manager))
{
- gpointer manager = g_ptr_array_index (conn->channel_managers, i);
gpointer per_channel_factory_caps_old = NULL;
gpointer per_channel_factory_caps_new = NULL;
@@ -2349,12 +2352,12 @@ gabble_connection_set_self_capabilities (
for (i = 0; i < caps->len; i++)
{
GHashTable *cap_to_add = g_ptr_array_index (caps, i);
- guint j;
+ TpChannelManagerIter iter;
+ TpChannelManager *manager;
- for (j = 0; j < self->channel_managers->len; j++)
+ tp_base_connection_channel_manager_iter_init (&iter, base);
+ while (tp_base_connection_channel_manager_iter_next (&iter, &manager))
{
- gpointer manager = g_ptr_array_index (self->channel_managers, j);
-
/* some channel managers does not implement the capability interface
*/
if (!GABBLE_IS_CAPS_CHANNEL_MANAGER (manager))
diff --git a/src/presence-cache.c b/src/presence-cache.c
index b2c0a0d..4a8f900 100644
--- a/src/presence-cache.c
+++ b/src/presence-cache.c
@@ -795,10 +795,13 @@ _caps_disco_cb (GabbleDisco *disco,
guint trust, trust_inc;
TpHandle handle = 0;
gboolean bad_hash = FALSE;
- guint j;
+ TpBaseConnection *base_conn;
+ TpChannelManagerIter iter;
+ TpChannelManager *manager;
cache = GABBLE_PRESENCE_CACHE (user_data);
priv = GABBLE_PRESENCE_CACHE_PRIV (cache);
+ base_conn = TP_BASE_CONNECTION (priv->conn);
contact_repo = tp_base_connection_get_handles (
(TpBaseConnection *) priv->conn, TP_HANDLE_TYPE_CONTACT);
@@ -856,10 +859,10 @@ _caps_disco_cb (GabbleDisco *disco,
per_channel_factory_caps = g_hash_table_new (NULL, NULL);
/* parsing for Connection.Interface.ContactCapabilities.DRAFT */
- for (j = 0; j < priv->conn->channel_managers->len; j++)
+ tp_base_connection_channel_manager_iter_init (&iter, base_conn);
+ while (tp_base_connection_channel_manager_iter_next (&iter, &manager))
{
gpointer *factory_caps;
- gpointer manager = g_ptr_array_index (priv->conn->channel_managers, j);
/* some channel managers does not implement the capability interface */
if (!GABBLE_IS_CAPS_CHANNEL_MANAGER (manager))
--
1.5.6.5
More information about the Telepathy-commits
mailing list