atmodem: Register for notifications after CMGL

This commit is contained in:
Denis Kenzior 2010-06-10 18:43:30 -05:00
parent 150c1e753f
commit 5a883d1c76
1 changed files with 14 additions and 12 deletions

View File

@ -487,8 +487,21 @@ static void at_cmgl_done(struct ofono_sms *sms)
{
struct sms_data *data = ofono_sms_get_data(sms);
if (data->incoming == MT_STORE && data->store == ME_STORE)
if (data->incoming == MT_STORE && data->store == ME_STORE) {
at_cmgl_set_cpms(sms, SM_STORE);
return;
}
g_at_chat_register(data->chat, "+CMTI:", at_cmti_notify, FALSE,
sms, NULL);
g_at_chat_register(data->chat, "+CMT:", at_cmt_notify, TRUE,
sms, NULL);
g_at_chat_register(data->chat, "+CDS:", at_cds_notify, TRUE,
sms, NULL);
/* We treat CMGR just like a notification */
g_at_chat_register(data->chat, "+CMGR:", at_cmgr_notify, TRUE,
sms, NULL);
}
static void at_cmgl_notify(GAtResult *result, gpointer user_data)
@ -605,17 +618,6 @@ static void at_sms_initialized(struct ofono_sms *sms)
{
struct sms_data *data = ofono_sms_get_data(sms);
g_at_chat_register(data->chat, "+CMTI:", at_cmti_notify, FALSE,
sms, NULL);
g_at_chat_register(data->chat, "+CMT:", at_cmt_notify, TRUE,
sms, NULL);
g_at_chat_register(data->chat, "+CDS:", at_cds_notify, TRUE,
sms, NULL);
/* We treat CMGR just like a notification */
g_at_chat_register(data->chat, "+CMGR:", at_cmgr_notify, TRUE,
sms, NULL);
/* Inspect and free the incoming SMS storage */
if (data->incoming == MT_STORE)
at_cmgl_set_cpms(sms, ME_STORE);