diff options
author | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-09-28 18:24:16 -0300 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-09-29 11:18:40 -0500 |
commit | 93fd2afd02ea7f215733b046b8e8feae774b3cd8 (patch) | |
tree | 3f2f9b464e46f6c8da977a92d249e984a0302fe2 | |
parent | e07b4217aa24c3f1cb8b925f51d5a168c0dcbf70 (diff) | |
download | ofono-93fd2afd02ea7f215733b046b8e8feae774b3cd8.tar.bz2 |
telit: add pre_sim support to SAP Client
-rw-r--r-- | plugins/bluetooth.h | 1 | ||||
-rw-r--r-- | plugins/telit.c | 26 |
2 files changed, 16 insertions, 11 deletions
diff --git a/plugins/bluetooth.h b/plugins/bluetooth.h index d38e72e5..8e3fadde 100644 --- a/plugins/bluetooth.h +++ b/plugins/bluetooth.h @@ -47,6 +47,7 @@ struct bluetooth_sap_driver { const char *name; int (*enable) (struct ofono_modem *modem, struct ofono_modem *sap_modem, int bt_fd); + void (*pre_sim) (struct ofono_modem *modem); int (*disable) (struct ofono_modem *modem); }; diff --git a/plugins/telit.c b/plugins/telit.c index f0a16faa..4c6d12c4 100644 --- a/plugins/telit.c +++ b/plugins/telit.c @@ -539,9 +539,24 @@ static int telit_sap_disable(struct ofono_modem *modem) return -EINPROGRESS; } +static void telit_pre_sim(struct ofono_modem *modem) +{ + struct telit_data *data = ofono_modem_get_data(modem); + + if (data->sap_modem) + modem = data->sap_modem; + + DBG("%p", modem); + + ofono_devinfo_create(modem, 0, "atmodem", data->chat); + data->sim = ofono_sim_create(modem, 0, "atmodem", data->chat); + ofono_voicecall_create(modem, 0, "atmodem", data->chat); +} + static struct bluetooth_sap_driver sap_driver = { .name = "telit", .enable = telit_sap_enable, + .pre_sim = telit_pre_sim, .disable = telit_sap_disable, }; @@ -601,17 +616,6 @@ static void telit_set_online(struct ofono_modem *modem, ofono_bool_t online, cbd, g_free); } -static void telit_pre_sim(struct ofono_modem *modem) -{ - struct telit_data *data = ofono_modem_get_data(modem); - - DBG("%p", modem); - - ofono_devinfo_create(modem, 0, "atmodem", data->chat); - data->sim = ofono_sim_create(modem, 0, "atmodem", data->chat); - ofono_voicecall_create(modem, 0, "atmodem", data->chat); -} - static void telit_post_sim(struct ofono_modem *modem) { struct telit_data *data = ofono_modem_get_data(modem); |