diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-07-09 16:54:10 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-07-14 15:45:03 -0500 |
commit | d0fbef76bddb14b932815a56bf91924a9beb5aa2 (patch) | |
tree | 3fee1622af536c15911eb8e37119b8fc17f5c0c0 /src | |
parent | ffb5d3da94e70bf57f60c7afb276332f31afbfa1 (diff) | |
download | ofono-d0fbef76bddb14b932815a56bf91924a9beb5aa2.tar.bz2 |
Add sim ready notify functions
Diffstat (limited to 'src')
-rw-r--r-- | src/sim.c | 25 | ||||
-rw-r--r-- | src/sim.h | 10 |
2 files changed, 35 insertions, 0 deletions
@@ -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) { @@ -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, |