diff options
Diffstat (limited to 'src/mm-base-modem.c')
-rw-r--r-- | src/mm-base-modem.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index 0805cedb..a11f15a4 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -1435,6 +1435,28 @@ mm_base_modem_get_product_id (MMBaseModem *self) /*****************************************************************************/ +static void +after_sim_switch_disable_ready (MMBaseModem *self, + GAsyncResult *res) +{ + g_autoptr(GError) error = NULL; + + mm_base_modem_disable_finish (self, res, &error); + if (error) + mm_obj_err (self, "failed to disable after SIM switch event: %s", error->message); + else + mm_base_modem_set_valid (self, FALSE); +} + +void +mm_base_modem_process_sim_switch (MMBaseModem *self) +{ + mm_base_modem_set_reprobe (self, TRUE); + mm_base_modem_disable (self, (GAsyncReadyCallback) after_sim_switch_disable_ready, NULL); +} + +/*****************************************************************************/ + static gboolean base_modem_invalid_idle (MMBaseModem *self) { |