[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