summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-08-29 16:48:40 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-09-04 13:28:23 +0100
commitea78c344fce0373188ac5549f664da0a6de1f500 (patch)
tree441df96904b834232aab98dcf2a5038f54b32608
parent3ec7b1947bf5c595edc1f2329aa6ce7b9feda816 (diff)
downloadtelepathy-mission-control-ea78c344fce0373188ac5549f664da0a6de1f500.tar.gz
_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@collabora.co.uk> Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-rw-r--r--src/kludge-transport.c23
-rw-r--r--src/mcd-account.c19
-rw-r--r--src/mcd-master-priv.h2
-rw-r--r--src/mcd-master.c53
-rw-r--r--src/mcd-transport.c21
-rw-r--r--src/mcd-transport.h5
6 files changed, 13 insertions, 110 deletions
diff --git a/src/kludge-transport.c b/src/kludge-transport.c
index 664b8c39..5af099aa 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 d3edfc0d..e0e713b4 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 ab42c8a8..bb491f29 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 7a1f4ba1..77182f1e 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 5e29d9ee..15aee236 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 a7e5bc34..0f35d1ef 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__ */