summaryrefslogtreecommitdiff
path: root/src/mm-base-sim.h
diff options
context:
space:
mode:
authorCarlo Lobrano <c.lobrano@gmail.com>2017-09-04 08:13:53 +0200
committerAleksander Morgado <aleksander@aleksander.es>2017-09-04 17:59:59 +0200
commit76916de31350b915c7cdd7d89fee08f03a97800f (patch)
treea79cc480014ff617ded70772bcea583661a57798 /src/mm-base-sim.h
parent5014cf39767a24109de945d99c6b9f4bb1b07274 (diff)
downloadModemManager-76916de31350b915c7cdd7d89fee08f03a97800f.tar.gz
telit-plugin: handle QSS unsolicited due to power state transitions
When transitioning between power-low and power-on modes, Telit modems switch the SIM off/on, which leads to the emission of #QSS unsolicited not related to actual SIM swaps. To handle this #QSS unsolicited, this patch: * disables reacting on #QSS unsolicited when modem_power_down is received * implements modem_after_power_up that: - checks whether the SIM has been changed, matching cached SIM Identifier with the value in the current SIM. If SIM Identifier, is different, sim hot swap ports detected is called. - re-enables reacting on #QSS unsolicited
Diffstat (limited to 'src/mm-base-sim.h')
-rw-r--r--src/mm-base-sim.h77
1 files changed, 42 insertions, 35 deletions
diff --git a/src/mm-base-sim.h b/src/mm-base-sim.h
index 19039942b..5e141f302 100644
--- a/src/mm-base-sim.h
+++ b/src/mm-base-sim.h
@@ -129,40 +129,47 @@ struct _MMBaseSimClass {
GType mm_base_sim_get_type (void);
-void mm_base_sim_new (MMBaseModem *modem,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-MMBaseSim *mm_base_sim_new_finish (GAsyncResult *res,
- GError **error);
-
-void mm_base_sim_initialize (MMBaseSim *self,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_sim_initialize_finish (MMBaseSim *self,
- GAsyncResult *result,
- GError **error);
-
-void mm_base_sim_send_pin (MMBaseSim *self,
- const gchar *pin,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_sim_send_pin_finish (MMBaseSim *self,
- GAsyncResult *res,
- GError **error);
-
-void mm_base_sim_send_puk (MMBaseSim *self,
- const gchar *puk,
- const gchar *new_pin,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_sim_send_puk_finish (MMBaseSim *self,
- GAsyncResult *res,
- GError **error);
-
-void mm_base_sim_export (MMBaseSim *self);
-
-const gchar *mm_base_sim_get_path (MMBaseSim *sim);
+void mm_base_sim_new (MMBaseModem *modem,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+MMBaseSim *mm_base_sim_new_finish (GAsyncResult *res,
+ GError **error);
+
+void mm_base_sim_initialize (MMBaseSim *self,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_base_sim_initialize_finish (MMBaseSim *self,
+ GAsyncResult *result,
+ GError **error);
+
+void mm_base_sim_send_pin (MMBaseSim *self,
+ const gchar *pin,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_base_sim_send_pin_finish (MMBaseSim *self,
+ GAsyncResult *res,
+ GError **error);
+
+void mm_base_sim_send_puk (MMBaseSim *self,
+ const gchar *puk,
+ const gchar *new_pin,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_base_sim_send_puk_finish (MMBaseSim *self,
+ GAsyncResult *res,
+ GError **error);
+
+void mm_base_sim_export (MMBaseSim *self);
+
+const gchar *mm_base_sim_get_path (MMBaseSim *sim);
+
+void mm_base_sim_load_sim_identifier (MMBaseSim *self,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gchar *mm_base_sim_load_sim_identifier_finish (MMBaseSim *self,
+ GAsyncResult *res,
+ GError **error);
#endif /* MM_BASE_SIM_H */