aboutsummaryrefslogtreecommitdiff
path: root/src/mm-shared-qmi.h
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-08-01 09:59:54 +0200
committerAleksander Morgado <aleksander@aleksander.es>2020-08-28 14:59:06 +0000
commit7c76450c15555204d14a8ce0550dc2c639d288b3 (patch)
tree7f68b0afa45b0c32d793c2cd114e263d84ae9b19 /src/mm-shared-qmi.h
parent48ca1aea3c12262307c2ce13fbdedb1d91c640c6 (diff)
shared-qmi: implement SIM slots loading during initialization
This commit introduces Multi-SIM Single-Standby support in all QMI capable devices that support multiple SIM slots. The 'UIM Get Slot Status' method is used to list all available physical slots as well as the availability of SIM cards in the different slots. This method also provides UICC already, so the SIM objects are created early and exposed early in DBus. Once all slots are listed, the logic will briefly make each of the available SIM cards active in order to read additional settings like IMSI, MCCMNC or the Operator name. This brief switching is required because in a Single-Standby setup only one SIM can be active at any given time. The last slot to probe is always the one that was active originally, making sure that the modem initialization logic can go on with the correct SIM slot.
Diffstat (limited to 'src/mm-shared-qmi.h')
-rw-r--r--src/mm-shared-qmi.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mm-shared-qmi.h b/src/mm-shared-qmi.h
index 093896e0..4a9567b8 100644
--- a/src/mm-shared-qmi.h
+++ b/src/mm-shared-qmi.h
@@ -163,7 +163,14 @@ void mm_shared_qmi_setup_carrier_config (MMIfaceMode
gboolean mm_shared_qmi_setup_carrier_config_finish (MMIfaceModem *self,
GAsyncResult *res,
GError **error);
-
+void mm_shared_qmi_load_sim_slots (MMIfaceModem *self,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_shared_qmi_load_sim_slots_finish (MMIfaceModem *self,
+ GAsyncResult *res,
+ GPtrArray **sim_slots,
+ guint *primary_sim_slot,
+ GError **error);
/* Shared QMI location support */
void mm_shared_qmi_location_load_capabilities (MMIfaceModemLocation *self,