aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorDylan Van Assche <me@dylanvanassche.be>2021-05-01 15:50:47 +0200
committerAleksander Morgado <aleksander@aleksander.es>2021-05-26 13:14:52 +0000
commit38740e9d11a52f91e41349a62caf35f8e1a67f48 (patch)
treed1c1514d9cf98790a44e1e156ce71adc8922cd0b /src/main.c
parent940063419a1c2eb9f6e197d60b4c7cb42702de8d (diff)
base-manager: add quick suspend/resume base
Quick suspend/resume infrastructure for synchronizing the interfaces when resuming.
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 0067583e..89345435 100644
--- a/src/main.c
+++ b/src/main.c
@@ -72,6 +72,13 @@ resuming_cb (MMSleepMonitor *sleep_monitor)
mm_base_manager_start (manager, FALSE);
}
+static void
+resuming_quick_cb (MMSleepMonitor *sleep_monitor)
+{
+ mm_dbg ("syncing modem state (quick resuming)");
+ mm_base_manager_sync (manager);
+}
+
#endif
static void
@@ -191,7 +198,12 @@ main (int argc, char *argv[])
if (mm_context_get_test_no_suspend_resume())
mm_dbg ("Suspend/resume support disabled at runtime");
- else {
+ else if (mm_context_get_test_quick_suspend_resume()) {
+ mm_dbg ("Quick suspend/resume hooks enabled");
+ sleep_monitor = mm_sleep_monitor_get ();
+ g_signal_connect (sleep_monitor, MM_SLEEP_MONITOR_RESUMING, G_CALLBACK (resuming_quick_cb), NULL);
+ } else {
+ mm_dbg ("Full suspend/resume hooks enabled");
sleep_monitor = mm_sleep_monitor_get ();
g_signal_connect (sleep_monitor, MM_SLEEP_MONITOR_SLEEPING, G_CALLBACK (sleeping_cb), NULL);
g_signal_connect (sleep_monitor, MM_SLEEP_MONITOR_RESUMING, G_CALLBACK (resuming_cb), NULL);