From d0fbef76bddb14b932815a56bf91924a9beb5aa2 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 9 Jul 2009 16:54:10 -0500 Subject: [PATCH] Add sim ready notify functions --- src/sim.c | 25 +++++++++++++++++++++++++ src/sim.h | 10 ++++++++++ 2 files changed, 35 insertions(+) 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,