aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-base-sim.c53
-rw-r--r--src/mm-base-sim.h77
2 files changed, 95 insertions, 35 deletions
diff --git a/src/mm-base-sim.c b/src/mm-base-sim.c
index f3525e02..24d5b1c1 100644
--- a/src/mm-base-sim.c
+++ b/src/mm-base-sim.c
@@ -701,6 +701,59 @@ mm_base_sim_send_puk (MMBaseSim *self,
}
/*****************************************************************************/
+/* LOAD SIM IDENTIFIER */
+
+gchar *
+mm_base_sim_load_sim_identifier_finish (MMBaseSim *self,
+ GAsyncResult *res,
+ GError **error)
+{
+ GError *inner_error = NULL;
+ gchar *simid;
+
+ if (g_async_result_is_tagged (res, mm_base_sim_load_sim_identifier) ||
+ !MM_BASE_SIM_GET_CLASS (self)->load_sim_identifier_finish) {
+ inner_error = g_error_new (MM_CORE_ERROR, MM_CORE_ERROR_UNSUPPORTED,
+ "not implemented");
+ g_propagate_error (error, inner_error);
+ return NULL;
+ }
+
+ simid = MM_BASE_SIM_GET_CLASS (self)->load_sim_identifier_finish (self, res, &inner_error);
+ if (inner_error) {
+ g_propagate_error (error, inner_error);
+ return NULL;
+ }
+
+ return simid;
+}
+
+void
+mm_base_sim_load_sim_identifier (MMBaseSim *self,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ if (!MM_BASE_SIM_GET_CLASS (self)->load_sim_identifier &&
+ !MM_BASE_SIM_GET_CLASS (self)->load_sim_identifier_finish) {
+ g_task_report_new_error (self,
+ callback,
+ user_data,
+ mm_base_sim_load_sim_identifier,
+ MM_CORE_ERROR,
+ MM_CORE_ERROR_UNSUPPORTED,
+ "not implemented");
+ return;
+ }
+
+ MM_BASE_SIM_GET_CLASS (self)->load_sim_identifier (
+ self,
+ (GAsyncReadyCallback)callback,
+ user_data);
+
+ return;
+}
+
+/*****************************************************************************/
/* SEND PIN (DBus call handling) */
typedef struct {
diff --git a/src/mm-base-sim.h b/src/mm-base-sim.h
index 19039942..5e141f30 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 */