[Telepathy-commits] [telepathy-gabble/master] tube_closed_cb: fire the Closed and ChannelClosed signals

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon Jan 26 08:17:40 PST 2009


---
 src/tubes-channel.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/tubes-channel.c b/src/tubes-channel.c
index ea67cd2..f07adeb 100644
--- a/src/tubes-channel.c
+++ b/src/tubes-channel.c
@@ -448,6 +448,26 @@ tube_closed_cb (GabbleTubeIface *tube,
   update_tubes_presence (self);
 
   tp_svc_channel_type_tubes_emit_tube_closed (self, tube_id);
+
+  /* FIXME: this is a workaround while new tube API is not implemented on
+   * D-Bus tubes */
+  if (GABBLE_IS_TUBE_STREAM (tube))
+    tp_svc_channel_emit_closed (tube);
+
+  if (priv->handle_type == TP_HANDLE_TYPE_CONTACT)
+    {
+      /* FIXME: this is a workaround while new tube API is not implemented on
+       * D-Bus tubes */
+      if (GABBLE_IS_TUBE_STREAM (tube))
+        tp_channel_manager_emit_channel_closed_for_object (
+            priv->conn->private_tubes_factory, TP_EXPORTABLE_CHANNEL (tube));
+    }
+  else
+    {
+      /* FIXME: emit with the muc-factory once new API is implemented in muc
+       * tubes */
+    }
+
 }
 
 static void
-- 
1.5.6.5




More information about the Telepathy-commits mailing list