[Telepathy-commits] [telepathy-salut/master] Revert "SalutXmppConnectionManager: connect to TpSvcConnection::status-changed and close streams"

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon Dec 1 07:47:59 PST 2008


This reverts commit 4e1802e8e381df684793b22b9e6b7180a6b815eb.
---
 src/salut-xmpp-connection-manager.c |   77 ++++++----------------------------
 1 files changed, 14 insertions(+), 63 deletions(-)

diff --git a/src/salut-xmpp-connection-manager.c b/src/salut-xmpp-connection-manager.c
index 4d103a7..ed34c23 100644
--- a/src/salut-xmpp-connection-manager.c
+++ b/src/salut-xmpp-connection-manager.c
@@ -103,7 +103,6 @@ struct _SalutXmppConnectionManagerPrivate
    * be allowed to request a new connection with the contact */
   /* GibberXmppConnection * -> SalutContact */
   GHashTable *connections_waiting_close;
-  gulong status_changed_id;
 
   gboolean dispose_has_run;
 };
@@ -882,12 +881,18 @@ disconnect_signals_foreach (gpointer key,
       0, 0, NULL, NULL, self);
 }
 
-static void
-salut_xmpp_manager_close_all (SalutXmppConnectionManager *self)
+void
+salut_xmpp_connection_manager_dispose (GObject *object)
 {
+  SalutXmppConnectionManager *self = SALUT_XMPP_CONNECTION_MANAGER (object);
   SalutXmppConnectionManagerPrivate *priv =
     SALUT_XMPP_CONNECTION_MANAGER_GET_PRIVATE (self);
 
+  if (priv->dispose_has_run)
+    return;
+
+  priv->dispose_has_run = TRUE;
+
   /* Disconnect signals from all connections */
   g_hash_table_foreach (priv->connections, disconnect_signals_foreach, self);
   g_hash_table_foreach (priv->incoming_pending_connections,
@@ -925,6 +930,12 @@ salut_xmpp_manager_close_all (SalutXmppConnectionManager *self)
       priv->outgoing_pending_connections = NULL;
     }
 
+  if (priv->stanza_filters != NULL)
+    {
+      g_hash_table_destroy (priv->stanza_filters);
+      priv->stanza_filters = NULL;
+    }
+
   if (priv->connection_timers != NULL)
     {
       g_hash_table_destroy (priv->connection_timers);
@@ -946,65 +957,6 @@ salut_xmpp_manager_close_all (SalutXmppConnectionManager *self)
   free_stanza_filters_list (priv->all_connection_filters);
   priv->all_connection_filters = NULL;
 
-  if (priv->status_changed_id != 0)
-    {
-      g_signal_handler_disconnect (priv->connection, priv->status_changed_id);
-      priv->status_changed_id = 0;
-    }
-}
-
-static void
-connection_status_changed_cb (SalutConnection *conn,
-                              guint status,
-                              guint reason,
-                              SalutXmppConnectionManager *self)
-{
-  if (status == TP_CONNECTION_STATUS_DISCONNECTED)
-    {
-      salut_xmpp_manager_close_all (self);
-    }
-}
-
-static GObject *
-salut_xmpp_connection_manager_constructor (GType type,
-                                           guint n_props,
-                                           GObjectConstructParam *props)
-{
-  GObject *obj;
-  SalutXmppConnectionManager *self;
-  SalutXmppConnectionManagerPrivate *priv;
-
-  obj = G_OBJECT_CLASS (salut_xmpp_connection_manager_parent_class)->
-           constructor (type, n_props, props);
-
-  self = SALUT_XMPP_CONNECTION_MANAGER (obj);
-  priv = SALUT_XMPP_CONNECTION_MANAGER_GET_PRIVATE (self);
-
-  priv->status_changed_id = g_signal_connect (priv->connection,
-      "status-changed", (GCallback) connection_status_changed_cb, self);
-
-  return obj;
-}
-
-void
-salut_xmpp_connection_manager_dispose (GObject *object)
-{
-  SalutXmppConnectionManager *self = SALUT_XMPP_CONNECTION_MANAGER (object);
-  SalutXmppConnectionManagerPrivate *priv =
-    SALUT_XMPP_CONNECTION_MANAGER_GET_PRIVATE (self);
-
-  if (priv->dispose_has_run)
-    return;
-
-  priv->dispose_has_run = TRUE;
-
-  if (priv->stanza_filters != NULL)
-    {
-      g_hash_table_destroy (priv->stanza_filters);
-      priv->stanza_filters = NULL;
-    }
-
-
   if (G_OBJECT_CLASS (salut_xmpp_connection_manager_parent_class)->dispose)
     G_OBJECT_CLASS (salut_xmpp_connection_manager_parent_class)->dispose (
         object);
@@ -1070,7 +1022,6 @@ salut_xmpp_connection_manager_class_init (
   g_type_class_add_private (salut_xmpp_connection_manager_class,
       sizeof (SalutXmppConnectionManagerPrivate));
 
-  object_class->constructor = salut_xmpp_connection_manager_constructor;
   object_class->dispose = salut_xmpp_connection_manager_dispose;
 
   object_class->get_property = salut_xmpp_connection_manager_get_property;
-- 
1.5.6.5




More information about the Telepathy-commits mailing list