summaryrefslogtreecommitdiff
path: root/src/nm-sleep-monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-sleep-monitor.c')
-rw-r--r--src/nm-sleep-monitor.c35
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);
}