[telepathy-gabble/master] Extract emitting capabilities-update

Will Thompson will.thompson at collabora.co.uk
Wed May 13 06:10:12 PDT 2009


---
 src/presence-cache.c |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/src/presence-cache.c b/src/presence-cache.c
index cece57d..d2e25ba 100644
--- a/src/presence-cache.c
+++ b/src/presence-cache.c
@@ -933,6 +933,18 @@ parse_contact_caps (TpBaseConnection *base_conn,
   return per_channel_manager_caps;
 }
 
+static void
+emit_capabilities_update (GabblePresenceCache *cache,
+    TpHandle handle,
+    GabblePresenceCapabilities old_caps,
+    GabblePresenceCapabilities new_caps,
+    GHashTable *old_enhanced_caps,
+    GHashTable *new_enhanced_caps)
+{
+  g_signal_emit (cache, signals[CAPABILITIES_UPDATE], 0,
+      handle, old_caps, new_caps, old_enhanced_caps, new_enhanced_caps);
+}
+
 /**
  * set_caps_for:
  *
@@ -966,9 +978,8 @@ set_caps_for (DiscoWaiter *waiter,
 
   DEBUG ("caps for %d now %d", waiter->handle, presence->caps);
 
-  g_signal_emit (cache, signals[CAPABILITIES_UPDATE], 0,
-    waiter->handle, save_caps, presence->caps,
-    save_enhanced_caps, presence->per_channel_manager_caps);
+  emit_capabilities_update (cache, waiter->handle, save_caps, presence->caps,
+      save_enhanced_caps, presence->per_channel_manager_caps);
   gabble_presence_cache_free_cache_entry (save_enhanced_caps);
 }
 
@@ -1275,9 +1286,8 @@ _process_caps (GabblePresenceCache *cache,
       DEBUG ("Emitting caps update: handle %u, old %u, new %u",
           handle, old_caps, presence->caps);
 
-      g_signal_emit (cache, signals[CAPABILITIES_UPDATE], 0,
-          handle, old_caps, presence->caps, old_enhanced_caps,
-          presence->per_channel_manager_caps);
+      emit_capabilities_update (cache, handle, old_caps, presence->caps,
+          old_enhanced_caps, presence->per_channel_manager_caps);
       gabble_presence_cache_free_cache_entry (old_enhanced_caps);
     }
   else
@@ -1570,9 +1580,8 @@ gabble_presence_cache_do_update (
   ret = gabble_presence_update (presence, resource, presence_id,
       status_message, priority);
 
-  g_signal_emit (cache, signals[CAPABILITIES_UPDATE], 0, handle,
-      caps_before, presence->caps, enhanced_caps_before,
-      presence->per_channel_manager_caps);
+  emit_capabilities_update (cache, handle, caps_before, presence->caps,
+      enhanced_caps_before, presence->per_channel_manager_caps);
   gabble_presence_cache_free_cache_entry (enhanced_caps_before);
 
   return ret;
-- 
1.5.6.5




More information about the telepathy-commits mailing list