Reporting errors when sending a message failed
This commit is contained in:
parent
d11147fdf6
commit
128b8646ad
|
@ -252,13 +252,20 @@ typedef union _ModemEvent
|
|||
char const * content;
|
||||
} message;
|
||||
|
||||
/* MODEM_EVENT_TYPE_MESSAGE_DELETED, MODEM_EVENT_TYPE_MESSAGE_SENT */
|
||||
/* MODEM_EVENT_TYPE_MESSAGE_DELETED */
|
||||
struct
|
||||
{
|
||||
ModemEventType type;
|
||||
unsigned int id;
|
||||
/* FIXME add a field for errors? */
|
||||
} message_deleted, message_sent;
|
||||
} message_deleted;
|
||||
|
||||
/* MODEM_EVENT_TYPE_MESSAGE_SENT */
|
||||
struct
|
||||
{
|
||||
ModemEventType type;
|
||||
char * error;
|
||||
unsigned int id;
|
||||
} message_sent;
|
||||
|
||||
/* MODEM_EVENT_TYPE_MODEL */
|
||||
struct
|
||||
|
|
|
@ -3541,6 +3541,7 @@ static void _on_code_cmgs(ModemPlugin * modem, char const * answer)
|
|||
|
||||
if(sscanf(answer, "%u", &u) != 1)
|
||||
return;
|
||||
event->message_sent.error = NULL;
|
||||
event->message_sent.id = u;
|
||||
hayes->helper->event(hayes->helper->modem, event);
|
||||
}
|
||||
|
|
|
@ -491,8 +491,10 @@ static void _callback_message(ModemPlugin * modem, int status,
|
|||
if(status == 200)
|
||||
helper->event(helper->modem, &mevent);
|
||||
else
|
||||
/* FIXME really report an error */
|
||||
{
|
||||
mevent.message_sent.error = phrase;
|
||||
helper->event(helper->modem, &mevent);
|
||||
}
|
||||
}
|
||||
|
||||
static void _callback_register(ModemPlugin * modem, int status,
|
||||
|
|
|
@ -3996,8 +3996,12 @@ static void _phone_modem_event(void * priv, ModemEvent * event)
|
|||
_phone_track(phone, PHONE_TRACK_MESSAGE_SENT, FALSE);
|
||||
phone->wr_progress = _phone_progress_delete(
|
||||
phone->wr_progress);
|
||||
_phone_info(phone, phone->wr_window, _("Message sent"),
|
||||
NULL);
|
||||
if(event->message_sent.error != NULL)
|
||||
_phone_error(phone->wr_window,
|
||||
event->message_sent.error, 0);
|
||||
else
|
||||
_phone_info(phone, phone->wr_window,
|
||||
_("Message sent"), NULL);
|
||||
break;
|
||||
case MODEM_EVENT_TYPE_NOTIFICATION:
|
||||
phone_info(phone, event->notification.content);
|
||||
|
|
Loading…
Reference in New Issue
Block a user