summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-07-09 16:54:10 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-07-14 15:45:03 -0500
commitd0fbef76bddb14b932815a56bf91924a9beb5aa2 (patch)
tree3fee1622af536c15911eb8e37119b8fc17f5c0c0 /src
parentffb5d3da94e70bf57f60c7afb276332f31afbfa1 (diff)
downloadofono-d0fbef76bddb14b932815a56bf91924a9beb5aa2.tar.bz2
Add sim ready notify functions
Diffstat (limited to 'src')
-rw-r--r--src/sim.c25
-rw-r--r--src/sim.h10
2 files changed, 35 insertions, 0 deletions
diff --git a/src/sim.c b/src/sim.c
index 9afaf916..5d06f513 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -807,6 +807,31 @@ static void initialize_sim_manager(struct ofono_modem *modem)
g_timeout_add(0, sim_retrieve_pnn, modem);
}
+int ofono_sim_ready_notify_register(struct ofono_modem *modem,
+ ofono_sim_ready_notify_cb_t cb)
+{
+ if (modem->sim_manager == NULL)
+ return -1;
+
+ modem->sim_manager->ready_notify =
+ g_slist_append(modem->sim_manager->ready_notify, cb);
+
+ return 0;
+}
+
+void ofono_sim_ready_notify_unregister(struct ofono_modem *modem,
+ ofono_sim_ready_notify_cb_t cb)
+{
+ if (modem->sim_manager == NULL)
+ return;
+
+ modem->sim_manager->ready_notify =
+ g_slist_remove(modem->sim_manager->ready_notify, cb);
+}
+
+ return 0;
+}
+
int ofono_sim_manager_register(struct ofono_modem *modem,
struct ofono_sim_ops *ops)
{
diff --git a/src/sim.h b/src/sim.h
index 5adf1a51..8f1707be 100644
--- a/src/sim.h
+++ b/src/sim.h
@@ -19,12 +19,22 @@
*
*/
+typedef void (*ofono_sim_ready_notify_cb_t)(struct ofono_modem *modem);
+
+typedef void (*ofono_sim_read_binary_cb_t)(struct ofono_modem *modem,
+ const struct ofono_error *error,
+ const unsigned char *data,
+ int len, void *userdata);
void ofono_sim_manager_init(struct ofono_modem *modem);
void ofono_sim_manager_exit(struct ofono_modem *modem);
gboolean ofono_operator_in_spdi(struct ofono_modem *modem,
const struct ofono_network_operator *op);
+int ofono_sim_ready_notify_register(struct ofono_modem *modem,
+ ofono_sim_ready_notify_cb_t cb);
+void ofono_sim_ready_notify_unregister(struct ofono_modem *modem,
+ ofono_sim_ready_notify_cb_t cb);
const char *ofono_operator_name_sim_override(struct ofono_modem *modem,
const char *mcc,