summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-01-05 17:20:23 +0100
committerThomas Haller <thaller@redhat.com>2015-01-12 12:10:02 +0100
commite439637adac69c5ed89a3217fadacf21c96b94bf (patch)
tree8264b977b2bc538a6a3312786676fa1a096f5403
parenta8ebd1aa1ab9284a356b3ff04791ee6b11e67f33 (diff)
downloadNetworkManager-e439637adac69c5ed89a3217fadacf21c96b94bf.tar.gz
core: declare nm_dns_manager_get() using NM_DEFINE_SINGLETON_GETTER()
-rw-r--r--src/dns-manager/nm-dns-manager.c13
-rw-r--r--src/main.c5
-rw-r--r--src/nm-policy.c4
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))