From f4eb50ebdefc81e22554640ad1c9da50e58e17c8 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Thu, 29 Aug 2013 16:59:08 +0100 Subject: [PATCH 07/16] McdConnectivityMonitor: take responsibility for monitoring use-conn I want to get rid of the kludge-transport. --- src/connectivity-monitor.c | 16 ++++++++++++++++ src/kludge-transport.c | 14 -------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/connectivity-monitor.c b/src/connectivity-monitor.c index 618aaac..3bf428d 100644 --- a/src/connectivity-monitor.c +++ b/src/connectivity-monitor.c @@ -60,6 +60,11 @@ struct _McdConnectivityMonitorPrivate { UpClient *upower_client; #endif +#ifdef ENABLE_CONN_SETTING + /* Application settings we steal from under Empathy's nose. */ + GSettings *settings; +#endif + Connectivity connectivity; gboolean use_conn; }; @@ -240,6 +245,13 @@ mcd_connectivity_monitor_init (McdConnectivityMonitor *connectivity_monitor) g_network_monitor_get_network_available (priv->network_monitor), connectivity_monitor); +#ifdef ENABLE_CONN_SETTING + priv->settings = g_settings_new ("im.telepathy.MissionControl.FromEmpathy"); + g_settings_bind (priv->settings, "use-conn", + connectivity_monitor, "use-conn", + G_SETTINGS_BIND_GET); +#endif + #ifdef HAVE_NM priv->nm_client = nm_client_new (); if (priv->nm_client != NULL) @@ -300,6 +312,10 @@ connectivity_monitor_dispose (GObject *object) g_clear_object (&self->priv->network_monitor); +#ifdef ENABLE_CONN_SETTING + g_clear_object (&self->priv->settings); +#endif + G_OBJECT_CLASS (mcd_connectivity_monitor_parent_class)->dispose (object); } diff --git a/src/kludge-transport.c b/src/kludge-transport.c index c8e2ba1..4a0dd9c 100644 --- a/src/kludge-transport.c +++ b/src/kludge-transport.c @@ -43,11 +43,6 @@ struct _McdKludgeTransportPrivate { /* Hold a set of McdAccounts which would like to go online. */ GHashTable *pending_accounts; - -#ifdef ENABLE_CONN_SETTING - /* Application settings we steal from under Empathy's nose. */ - GSettings *settings; -#endif }; static void transport_iface_init ( @@ -89,12 +84,6 @@ mcd_kludge_transport_constructed (GObject *object) priv->pending_accounts = g_hash_table_new_full (NULL, NULL, g_object_unref, NULL); - -#ifdef ENABLE_CONN_SETTING - priv->settings = g_settings_new ("im.telepathy.MissionControl.FromEmpathy"); - g_settings_bind (priv->settings, "use-conn", priv->minotaur, "use-conn", - G_SETTINGS_BIND_GET); -#endif } static void @@ -105,9 +94,6 @@ mcd_kludge_transport_dispose (GObject *object) GObjectClass *parent_class = mcd_kludge_transport_parent_class; tp_clear_object (&priv->minotaur); -#ifdef ENABLE_CONN_SETTING - tp_clear_object (&priv->settings); -#endif g_list_free (priv->transports); priv->transports = NULL; -- 1.8.4.rc3