[telepathy-salut/master] tube-dbus: factor out do_close

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Jun 26 07:28:10 PDT 2009


---
 src/tube-dbus.c |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/tube-dbus.c b/src/tube-dbus.c
index 0fb3383..38505d4 100644
--- a/src/tube-dbus.c
+++ b/src/tube-dbus.c
@@ -359,6 +359,25 @@ new_connection_cb (DBusServer *server,
 }
 
 static void
+do_close (SalutTubeDBus *self)
+{
+  SalutTubeDBusPrivate *priv = SALUT_TUBE_DBUS_GET_PRIVATE (self);
+
+  if (priv->closed)
+    return;
+  priv->closed = TRUE;
+
+  if (priv->bytestream != NULL)
+    {
+      gibber_bytestream_iface_close (priv->bytestream, NULL);
+    }
+  else
+    {
+      g_signal_emit (G_OBJECT (self), signals[CLOSED], 0);
+    }
+}
+
+static void
 tube_dbus_open (SalutTubeDBus *self)
 {
 #define SERVER_LISTEN_MAX_TRIES 5
@@ -1427,17 +1446,8 @@ static void
 salut_tube_dbus_close (SalutTubeIface *tube, gboolean closed_remotely)
 {
   SalutTubeDBus *self = SALUT_TUBE_DBUS (tube);
-  SalutTubeDBusPrivate *priv = SALUT_TUBE_DBUS_GET_PRIVATE (self);
 
-  if (priv->bytestream != NULL)
-    {
-      gibber_bytestream_iface_close (priv->bytestream, NULL);
-    }
-  else
-    {
-      priv->closed = TRUE;
-      g_signal_emit (G_OBJECT (self), signals[CLOSED], 0);
-    }
+  do_close (self);
 }
 
 /**
-- 
1.5.6.5




More information about the telepathy-commits mailing list