telepathy-mission-control: _mcd_master_account_replace_transport: inline into caller and simplify

Simon McVittie smcv at kemper.freedesktop.org
Wed Sep 4 05:38:36 PDT 2013


Module: telepathy-mission-control
Branch: master
Commit: ea78c344fce0373188ac5549f664da0a6de1f500
URL:    http://cgit.freedesktop.org/telepathy/telepathy-mission-control/commit/?id=ea78c344fce0373188ac5549f664da0a6de1f500

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Thu Aug 29 16:48:40 2013 +0100

_mcd_master_account_replace_transport: inline into caller and simplify

There's only one transport plugin, it only has one transport, and
its state is basically boolean, so we can delete a lot of code.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68712
Signed-off-by: Simon McVittie <simon.mcvittie at collabora.co.uk>
Reviewed-by: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>

---

 src/kludge-transport.c |   23 --------------------
 src/mcd-account.c      |   19 +++++++++++-----
 src/mcd-master-priv.h  |    2 -
 src/mcd-master.c       |   53 ------------------------------------------------
 src/mcd-transport.c    |   21 -------------------
 src/mcd-transport.h    |    5 ----
 6 files changed, 13 insertions(+), 110 deletions(-)

diff --git a/src/kludge-transport.c b/src/kludge-transport.c
index 664b8c3..5af099a 100644
--- a/src/kludge-transport.c
+++ b/src/kludge-transport.c
@@ -120,28 +120,6 @@ mcd_kludge_transport_get_transport_name (
   return "i love the internet";
 }
 
-static McdTransportStatus
-mcd_kludge_transport_get_transport_status (
-    McdTransportPlugin *plugin,
-    McdTransport *transport)
-{
-  McdKludgeTransport *self = MCD_KLUDGE_TRANSPORT (plugin);
-  gboolean online;
-
-  g_return_val_if_fail (MCD_IS_KLUDGE_TRANSPORT (plugin),
-      MCD_TRANSPORT_STATUS_DISCONNECTED);
-  g_return_val_if_fail (plugin == (McdTransportPlugin *) transport,
-      MCD_TRANSPORT_STATUS_DISCONNECTED);
-
-  online = mcd_connectivity_monitor_is_online (self->priv->minotaur);
-  DEBUG ("we are allegedly %s", online ? "online" : "offline");
-
-  if (online)
-    return MCD_TRANSPORT_STATUS_CONNECTED;
-  else
-    return MCD_TRANSPORT_STATUS_DISCONNECTED;
-}
-
 static void
 transport_iface_init (
     gpointer g_iface,
@@ -151,7 +129,6 @@ transport_iface_init (
 
   klass->get_transports = mcd_kludge_transport_get_transports;
   klass->get_transport_name = mcd_kludge_transport_get_transport_name;
-  klass->get_transport_status = mcd_kludge_transport_get_transport_status;
 }
 
 static McdTransportPlugin *
diff --git a/src/mcd-account.c b/src/mcd-account.c
index d3edfc0..e0e713b 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -230,7 +230,6 @@ void
 _mcd_account_maybe_autoconnect (McdAccount *account)
 {
     McdAccountPrivate *priv;
-    McdMaster *master;
 
     g_return_if_fail (MCD_IS_ACCOUNT (account));
     priv = account->priv;
@@ -240,12 +239,20 @@ _mcd_account_maybe_autoconnect (McdAccount *account)
         return;
     }
 
-    master = mcd_master_get_default ();
-
-    if (!_mcd_master_account_replace_transport (master, account))
+    if (_mcd_account_needs_dispatch (account))
     {
-        DEBUG ("%s conditions not satisfied", priv->unique_name);
-        return;
+        DEBUG ("Always-dispatchable account %s needs no transport",
+            priv->unique_name);
+    }
+    else if (mcd_connectivity_monitor_is_online (priv->connectivity))
+    {
+        DEBUG ("Account %s has connectivity, connecting",
+            priv->unique_name);
+    }
+    else
+    {
+        DEBUG ("Account %s needs connectivity, not connecting",
+            priv->unique_name);
     }
 
     DEBUG ("connecting account %s", priv->unique_name);
diff --git a/src/mcd-master-priv.h b/src/mcd-master-priv.h
index ab42c8a..bb491f2 100644
--- a/src/mcd-master-priv.h
+++ b/src/mcd-master-priv.h
@@ -32,8 +32,6 @@
 G_BEGIN_DECLS
 
 G_GNUC_INTERNAL
-gboolean _mcd_master_account_replace_transport (McdMaster *master,
-                                                McdAccount *account);
 
 McdManager *_mcd_master_lookup_manager (McdMaster *master,
                                         const gchar *unique_name);
diff --git a/src/mcd-master.c b/src/mcd-master.c
index 7a1f4ba..77182f1 100644
--- a/src/mcd-master.c
+++ b/src/mcd-master.c
@@ -384,59 +384,6 @@ mcd_master_register_transport (McdMaster *master,
     g_ptr_array_add (master->priv->transport_plugins, transport_plugin);
 }
 
-gboolean
-_mcd_master_account_replace_transport (McdMaster *master,
-                                       McdAccount *account)
-{
-    McdMasterPrivate *priv = master->priv;
-    gboolean connected = FALSE;
-    const gchar *name;
-    const guint n_plugins = priv->transport_plugins->len;
-    guint i;
-
-    g_return_val_if_fail (MCD_IS_ACCOUNT (account), FALSE);
-
-    /* no transport plugins, decision is always "go for it" */
-    if (n_plugins == 0)
-        return TRUE;
-
-    name = mcd_account_get_unique_name (account);
-
-    if (_mcd_account_needs_dispatch (account))
-    {
-        DEBUG ("Always-dispatchable account %s needs no transport", name);
-        return TRUE;
-    }
-
-    DEBUG ("Checking %s [%u plugins]", name, n_plugins);
-
-    for (i = 0; !connected && i < priv->transport_plugins->len; i++)
-    {
-        McdTransportPlugin *plugin;
-        const GList *transports;
-
-        plugin = g_ptr_array_index (priv->transport_plugins, i);
-        transports = mcd_transport_plugin_get_transports (plugin);
-
-        while (transports != NULL)
-        {
-            McdTransport *transport = transports->data;
-            McdTransportStatus status =
-              mcd_transport_get_status (plugin, transport);
-
-            transports = g_list_next (transports);
-
-            if (status != MCD_TRANSPORT_STATUS_CONNECTED)
-                continue;
-
-            connected = TRUE;
-            break;
-        }
-    }
-
-    return connected;
-}
-
 /* Milliseconds to wait for Connectivity coming back up before exiting MC */
 #define EXIT_COUNTDOWN_TIME 5000
 
diff --git a/src/mcd-transport.c b/src/mcd-transport.c
index 5e29d9e..15aee23 100644
--- a/src/mcd-transport.c
+++ b/src/mcd-transport.c
@@ -139,24 +139,3 @@ mcd_transport_get_name (McdTransportPlugin *plugin, McdTransport *transport)
     g_return_val_if_fail (iface->get_transport_name != NULL, NULL);
     return iface->get_transport_name (plugin, transport);
 }
-
-/**
- * mcd_transport_get_status:
- * @plugin: the #McdTransportPlugin.
- * @transport: a #McdTransport.
- *
- * Gets the status of @transport.
- *
- * Returns: the #McdTransportStatus of the transport.
- */
-McdTransportStatus
-mcd_transport_get_status (McdTransportPlugin *plugin, McdTransport *transport)
-{
-    McdTransportPluginIface *iface;
-
-    iface = MCD_TRANSPORT_PLUGIN_GET_IFACE (plugin);
-    g_return_val_if_fail (iface->get_transport_status != NULL,
-        MCD_TRANSPORT_STATUS_DISCONNECTED);
-    return iface->get_transport_status (plugin, transport);
-}
-
diff --git a/src/mcd-transport.h b/src/mcd-transport.h
index a7e5bc3..0f35d1e 100644
--- a/src/mcd-transport.h
+++ b/src/mcd-transport.h
@@ -55,9 +55,6 @@ struct _McdTransportPluginIface
     const GList * (*get_transports) (McdTransportPlugin *plugin);
     const gchar * (*get_transport_name) (McdTransportPlugin *plugin,
 					 McdTransport *transport);
-    McdTransportStatus (*get_transport_status) (McdTransportPlugin *plugin,
-						McdTransport *transport);
-
     /* signals */
     void (*status_changed) (McdTransportPlugin *plugin, McdTransport *transport,
 			    McdTransportStatus status);
@@ -69,8 +66,6 @@ const GList *mcd_transport_plugin_get_transports (McdTransportPlugin *plugin);
 
 const gchar *mcd_transport_get_name (McdTransportPlugin *plugin,
 				     McdTransport *transport);
-McdTransportStatus mcd_transport_get_status (McdTransportPlugin *plugin,
-					     McdTransport *transport);
 
 G_END_DECLS
 #endif /* __MCD_TRANSPORT_PLUGIN_H__ */



More information about the telepathy-commits mailing list