diff options
Diffstat (limited to 'src/nm-sleep-monitor.c')
-rw-r--r-- | src/nm-sleep-monitor.c | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/src/nm-sleep-monitor.c b/src/nm-sleep-monitor.c index af9bf6fbfd..90eab55882 100644 --- a/src/nm-sleep-monitor.c +++ b/src/nm-sleep-monitor.c @@ -83,8 +83,7 @@ struct _NMSleepMonitorClass { }; enum { - SLEEPING, - RESUMING, + SLEEP_SIGNAL, LAST_SIGNAL, }; static guint signals[LAST_SIGNAL] = {0}; @@ -238,17 +237,17 @@ sleep_signal (NMSleepMonitor *self, _LOGD ("received %s signal", is_about_to_suspend ? "SLEEP" : "RESUME"); - if (is_about_to_suspend) { - g_signal_emit (self, signals[SLEEPING], 0); #if !USE_UPOWER - drop_inhibitor (self); + if (!is_about_to_suspend) + take_inhibitor (self); #endif - } else { + + g_signal_emit (self, signals[SLEEP_SIGNAL], 0, is_about_to_suspend); + #if !USE_UPOWER - take_inhibitor (self); + if (is_about_to_suspend) + drop_inhibitor (self); #endif - g_signal_emit (self, signals[RESUMING], 0); - } } static void @@ -333,17 +332,11 @@ nm_sleep_monitor_class_init (NMSleepMonitorClass *klass) gobject_class->dispose = dispose; - signals[SLEEPING] = g_signal_new (NM_SLEEP_MONITOR_SLEEPING, - NM_TYPE_SLEEP_MONITOR, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - signals[RESUMING] = g_signal_new (NM_SLEEP_MONITOR_RESUMING, - NM_TYPE_SLEEP_MONITOR, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + signals[SLEEP_SIGNAL] = g_signal_new (NM_SLEEP_MONITOR_SLEEP_SIGNAL, + NM_TYPE_SLEEP_MONITOR, + G_SIGNAL_RUN_LAST, + 0, NULL, NULL, + g_cclosure_marshal_VOID__BOOLEAN, + G_TYPE_NONE, 1, G_TYPE_BOOLEAN); } |