modem: support SIM hot swap

BaseModem
  added reprobe property.

MMDevice
  added logic to recreate the modem if it is set invalid and "to reprobe"

MMBroadbandModem
 * added initialization step for SIM hot swap:
    1. keep dedicated ports open to listen to modem's unsolicited
    2. dedicated error management in case of initialization failure due to SIM missing
 * added function to be called in order to act upon SIM insertion/removal:
    1. close dedicated ports
    2. set the modem to be reprobed
    3. disable modem
 * added SIM HOT SWAP boolean property

MMIfaceModem
 * added initialization step for SIM hot swap, if supported by the plugin
 * dedicated error management in case of initialization failure due to SIM missing
This commit is contained in:
Carlo Lobrano
2016-08-10 09:39:27 +02:00
committed by Aleksander Morgado
parent 3047522b2e
commit 60f4f9e57d
7 changed files with 233 additions and 9 deletions
+4
View File
@@ -166,6 +166,10 @@ void mm_base_modem_set_valid (MMBaseModem *self,
gboolean valid);
gboolean mm_base_modem_get_valid (MMBaseModem *self);
void mm_base_modem_set_reprobe (MMBaseModem *self,
gboolean reprobe);
gboolean mm_base_modem_get_reprobe (MMBaseModem *self);
const gchar *mm_base_modem_get_device (MMBaseModem *self);
const gchar **mm_base_modem_get_drivers (MMBaseModem *self);
const gchar *mm_base_modem_get_plugin (MMBaseModem *self);