From df245d79770bd4cca7afbbafad31756f8ac5c9e3 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 28 Apr 2016 13:45:49 +0200 Subject: [PATCH] sleep-monitor: make sleep-monitor not a singleton The only user of the sleep-monitor singleton was NMManager anyway. Also, even if we ever get more users that are interested in the SLEEPING signal, we would hook them onto NMManager -- because NMManager should collect, coordinate and possibly forward the SLEEPING signal. In no case, another object should react on the SLEEPING signal and thus bypassing the NMManager. (cherry picked from commit 1e3b2cbb77fac8693e267389b3376185861e772d) --- src/nm-manager.c | 2 +- src/nm-sleep-monitor.c | 26 ++++++++++---------------- src/nm-sleep-monitor.h | 2 +- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/nm-manager.c b/src/nm-manager.c index 2b931705b5..138f506dd2 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -5264,7 +5264,7 @@ nm_manager_init (NMManager *self) self); /* sleep/wake handling */ - priv->sleep_monitor = g_object_ref (nm_sleep_monitor_get ()); + priv->sleep_monitor = nm_sleep_monitor_new (); g_signal_connect (priv->sleep_monitor, NM_SLEEP_MONITOR_SLEEPING, G_CALLBACK (sleeping_cb), self); diff --git a/src/nm-sleep-monitor.c b/src/nm-sleep-monitor.c index bc87743bf7..42a61f6fe3 100644 --- a/src/nm-sleep-monitor.c +++ b/src/nm-sleep-monitor.c @@ -90,8 +90,6 @@ static guint signals[LAST_SIGNAL] = {0}; G_DEFINE_TYPE (NMSleepMonitor, nm_sleep_monitor, G_TYPE_OBJECT); -NM_DEFINE_SINGLETON_GETTER (NMSleepMonitor, nm_sleep_monitor_get, NM_TYPE_SLEEP_MONITOR); - static void sleep_signal (NMSleepMonitor *self, gboolean is_about_to_suspend); /*****************************************************************************/ @@ -99,20 +97,10 @@ static void sleep_signal (NMSleepMonitor *self, gboolean is_about_to_suspend); #define _NMLOG_DOMAIN LOGD_SUSPEND #define _NMLOG(level, ...) \ G_STMT_START { \ - const NMLogLevel __level = (level); \ - \ - if (nm_logging_enabled (__level, _NMLOG_DOMAIN)) { \ - char __prefix[20]; \ - const NMSleepMonitor *const __self = (self); \ - \ - _nm_log (__level, _NMLOG_DOMAIN, 0, \ - "%s%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \ - _NMLOG_PREFIX_NAME, \ - (!__self || __self == singleton_instance \ - ? "" \ - : nm_sprintf_buf (__prefix, "[%p]", __self)) \ - _NM_UTILS_MACRO_REST (__VA_ARGS__)); \ - } \ + nm_log ((level), _NMLOG_DOMAIN, \ + "%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \ + _NMLOG_PREFIX_NAME \ + _NM_UTILS_MACRO_REST (__VA_ARGS__)); \ } G_STMT_END /*****************************************************************************/ @@ -303,6 +291,12 @@ nm_sleep_monitor_init (NMSleepMonitor *self) (GAsyncReadyCallback) on_proxy_acquired, self); } +NMSleepMonitor * +nm_sleep_monitor_new (void) +{ + return g_object_new (NM_TYPE_SLEEP_MONITOR, NULL); +} + static void dispose (GObject *object) { diff --git a/src/nm-sleep-monitor.h b/src/nm-sleep-monitor.h index 222193ed19..494a188eae 100644 --- a/src/nm-sleep-monitor.h +++ b/src/nm-sleep-monitor.h @@ -34,7 +34,7 @@ G_BEGIN_DECLS typedef struct _NMSleepMonitorClass NMSleepMonitorClass; GType nm_sleep_monitor_get_type (void) G_GNUC_CONST; -NMSleepMonitor *nm_sleep_monitor_get (void); +NMSleepMonitor *nm_sleep_monitor_new (void); G_END_DECLS