From 3999af0a87e973cf49abb120b3a8fffe40867f09 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Fri, 26 Dec 2014 13:46:36 +0100 Subject: [PATCH 2/3] base-modem: allow subclasses to report invalid modem in idle --- src/mm-base-modem.c | 12 +++++++++--- src/mm-base-modem.h | 7 ++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index 84ecf8d..610bc2f 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -1360,15 +1360,21 @@ base_modem_invalid_idle (MMBaseModem *self) return FALSE; } -static void -base_modem_cancelled (GCancellable *cancellable, - MMBaseModem *self) +void +mm_base_modem_set_invalid_idle (MMBaseModem *self) { /* NOTE: Don't call set_valid() directly here, do it in an idle, and ensure * that we pass a valid reference of the modem object as context. */ g_idle_add ((GSourceFunc)base_modem_invalid_idle, g_object_ref (self)); } +static void +base_modem_cancelled (GCancellable *cancellable, + MMBaseModem *self) +{ + mm_base_modem_set_invalid_idle (self); +} + /*****************************************************************************/ static void diff --git a/src/mm-base-modem.h b/src/mm-base-modem.h index c5f3788..e22155e 100644 --- a/src/mm-base-modem.h +++ b/src/mm-base-modem.h @@ -171,9 +171,10 @@ void mm_base_modem_set_hotplugged (MMBaseModem *self, gboolean hotplugged); gboolean mm_base_modem_get_hotplugged (MMBaseModem *self); -void mm_base_modem_set_valid (MMBaseModem *self, - gboolean valid); -gboolean mm_base_modem_get_valid (MMBaseModem *self); +void mm_base_modem_set_valid (MMBaseModem *self, + gboolean valid); +gboolean mm_base_modem_get_valid (MMBaseModem *self); +void mm_base_modem_set_invalid_idle (MMBaseModem *self); const gchar *mm_base_modem_get_device (MMBaseModem *self); const gchar **mm_base_modem_get_drivers (MMBaseModem *self); -- 2.2.1