diff options
author | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-09-28 18:24:19 -0300 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-09-29 11:19:22 -0500 |
commit | fa56fe78c5019e3576845b17fab6d5704e150d07 (patch) | |
tree | 6af81982266725e1840a65fa0f523ab5df81a8e4 /plugins/telit.c | |
parent | fde698c2a5e0102e744ca70712fd4595d4579020 (diff) | |
download | ofono-fa56fe78c5019e3576845b17fab6d5704e150d07.tar.bz2 |
telit: add post_online to SAP Client
Diffstat (limited to 'plugins/telit.c')
-rw-r--r-- | plugins/telit.c | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/plugins/telit.c b/plugins/telit.c index 3908985e..7ed52a6b 100644 --- a/plugins/telit.c +++ b/plugins/telit.c @@ -588,12 +588,43 @@ static void telit_set_online(struct ofono_modem *modem, ofono_bool_t online, cbd, g_free); } +static void telit_post_online(struct ofono_modem *modem) +{ + struct telit_data *data = ofono_modem_get_data(modem); + struct ofono_message_waiting *mw; + struct ofono_gprs *gprs; + struct ofono_gprs_context *gc; + + if(data->sap_modem) + modem = data->sap_modem; + + DBG("%p", modem); + + ofono_netreg_create(modem, OFONO_VENDOR_TELIT, "atmodem", data->chat); + ofono_ussd_create(modem, 0, "atmodem", data->chat); + ofono_call_forwarding_create(modem, 0, "atmodem", data->chat); + ofono_call_settings_create(modem, 0, "atmodem", data->chat); + ofono_call_meter_create(modem, 0, "atmodem", data->chat); + ofono_call_barring_create(modem, 0, "atmodem", data->chat); + + gprs = ofono_gprs_create(modem, 0, "atmodem", data->chat); + gc = ofono_gprs_context_create(modem, 0, "atmodem", data->chat); + + if (gprs && gc) + ofono_gprs_add_context(gprs, gc); + + mw = ofono_message_waiting_create(modem); + if (mw) + ofono_message_waiting_register(mw); +} + static struct bluetooth_sap_driver sap_driver = { .name = "telit", .enable = telit_sap_enable, .pre_sim = telit_pre_sim, .post_sim = telit_post_sim, .set_online = telit_set_online, + .post_online = telit_post_online, .disable = telit_sap_disable, }; @@ -630,33 +661,6 @@ static void telit_remove(struct ofono_modem *modem) g_free(data); } -static void telit_post_online(struct ofono_modem *modem) -{ - struct telit_data *data = ofono_modem_get_data(modem); - struct ofono_message_waiting *mw; - struct ofono_gprs *gprs; - struct ofono_gprs_context *gc; - - DBG("%p", modem); - - ofono_netreg_create(modem, OFONO_VENDOR_TELIT, "atmodem", data->chat); - ofono_ussd_create(modem, 0, "atmodem", data->chat); - ofono_call_forwarding_create(modem, 0, "atmodem", data->chat); - ofono_call_settings_create(modem, 0, "atmodem", data->chat); - ofono_call_meter_create(modem, 0, "atmodem", data->chat); - ofono_call_barring_create(modem, 0, "atmodem", data->chat); - - gprs = ofono_gprs_create(modem, 0, "atmodem", data->chat); - gc = ofono_gprs_context_create(modem, 0, "atmodem", data->chat); - - if (gprs && gc) - ofono_gprs_add_context(gprs, gc); - - mw = ofono_message_waiting_create(modem); - if (mw) - ofono_message_waiting_register(mw); -} - static struct ofono_modem_driver telit_driver = { .name = "telit", .probe = telit_probe, |