diff options
author | Thomas Haller <thaller@redhat.com> | 2015-01-05 17:20:23 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-01-12 12:10:02 +0100 |
commit | e439637adac69c5ed89a3217fadacf21c96b94bf (patch) | |
tree | 8264b977b2bc538a6a3312786676fa1a096f5403 | |
parent | a8ebd1aa1ab9284a356b3ff04791ee6b11e67f33 (diff) | |
download | NetworkManager-e439637adac69c5ed89a3217fadacf21c96b94bf.tar.gz |
core: declare nm_dns_manager_get() using NM_DEFINE_SINGLETON_GETTER()
-rw-r--r-- | src/dns-manager/nm-dns-manager.c | 13 | ||||
-rw-r--r-- | src/main.c | 5 | ||||
-rw-r--r-- | src/nm-policy.c | 4 |
3 files changed, 3 insertions, 19 deletions
diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c index 9af921bedf..39ef99bda5 100644 --- a/src/dns-manager/nm-dns-manager.c +++ b/src/dns-manager/nm-dns-manager.c @@ -1080,18 +1080,7 @@ nm_dns_manager_end_updates (NMDnsManager *mgr, const char *func) /******************************************************************/ -NMDnsManager * -nm_dns_manager_get (void) -{ - static NMDnsManager * singleton = NULL; - - if (!singleton) { - singleton = NM_DNS_MANAGER (g_object_new (NM_TYPE_DNS_MANAGER, NULL)); - g_assert (singleton); - } - - return singleton; -} +NM_DEFINE_SINGLETON_GETTER (NMDnsManager, nm_dns_manager_get, NM_TYPE_DNS_MANAGER); static void init_resolv_conf_mode (NMDnsManager *self) diff --git a/src/main.c b/src/main.c index f91d579d80..5f80bcd1b3 100644 --- a/src/main.c +++ b/src/main.c @@ -46,7 +46,6 @@ #include "main-utils.h" #include "nm-manager.h" #include "nm-linux-platform.h" -#include "nm-dns-manager.h" #include "nm-dbus-manager.h" #include "nm-supplicant-manager.h" #include "nm-dhcp-manager.h" @@ -204,7 +203,6 @@ main (int argc, char *argv[]) gboolean success, show_version = FALSE; NMManager *manager = NULL; gs_unref_object NMVpnManager *vpn_manager = NULL; - gs_unref_object NMDnsManager *dns_mgr = NULL; gs_unref_object NMDBusManager *dbus_mgr = NULL; gs_unref_object NMSupplicantManager *sup_mgr = NULL; gs_unref_object NMDhcpManager *dhcp_mgr = NULL; @@ -402,9 +400,6 @@ main (int argc, char *argv[]) vpn_manager = nm_vpn_manager_get (); g_assert (vpn_manager != NULL); - dns_mgr = nm_dns_manager_get (); - g_assert (dns_mgr != NULL); - /* Initialize DHCP manager */ dhcp_mgr = nm_dhcp_manager_get (); g_assert (dhcp_mgr != NULL); diff --git a/src/nm-policy.c b/src/nm-policy.c index 87fcdcc925..d995421a33 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -1788,7 +1788,7 @@ nm_policy_new (NMManager *manager, NMSettings *settings) priv->fw_started_id = g_signal_connect (nm_firewall_manager_get (), "started", G_CALLBACK (firewall_started), policy); - priv->dns_manager = nm_dns_manager_get (); + priv->dns_manager = g_object_ref (nm_dns_manager_get ()); nm_dns_manager_set_initial_hostname (priv->dns_manager, priv->orig_hostname); priv->config_changed_id = g_signal_connect (priv->dns_manager, "config-changed", G_CALLBACK (dns_config_changed), policy); @@ -1899,7 +1899,7 @@ dispose (GObject *object) if (priv->dns_manager) { g_signal_handler_disconnect (priv->dns_manager, priv->config_changed_id); - priv->dns_manager = NULL; + g_clear_object (&priv->dns_manager); } for (iter = priv->manager_ids; iter; iter = g_slist_next (iter)) |