Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
void ipc_sms_incoming_msg_unregister(struct ipc_sms_incoming_msg_info *incoming_msg);
struct ipc_sms_incoming_msg_info *ipc_sms_incoming_msg_info_find(void);
void ipc_sms_incoming_msg_unregister(struct ipc_sms_incoming_msg_info *incoming_msg);
struct ipc_sms_incoming_msg_info *ipc_sms_incoming_msg_info_find(void);
+void ipc_sms_incoming_msg_next(void);
void ipc_sms_incoming_msg_complete(char *pdu, int length, unsigned char type, unsigned char tpid);
void ipc_sms_incoming_msg(struct ipc_message_info *info);
void ril_request_sms_acknowledge(RIL_Token t, void *data, size_t length);
void ipc_sms_incoming_msg_complete(char *pdu, int length, unsigned char type, unsigned char tpid);
void ipc_sms_incoming_msg(struct ipc_message_info *info);
void ril_request_sms_acknowledge(RIL_Token t, void *data, size_t length);
* Notify RILJ about the incoming message
*/
* Notify RILJ about the incoming message
*/
+void ipc_sms_incoming_msg_next(void)
+{
+ struct ipc_sms_incoming_msg_info *incoming_msg;
+
+ ril_data.state.sms_incoming_msg_tpid = 0;
+
+ incoming_msg = ipc_sms_incoming_msg_info_find();
+ if(incoming_msg == NULL)
+ return;
+
+ ipc_sms_incoming_msg_complete(incoming_msg->pdu, incoming_msg->length, incoming_msg->type, incoming_msg->tpid);
+ ipc_sms_incoming_msg_unregister(incoming_msg);
+}
+
void ipc_sms_incoming_msg_complete(char *pdu, int length, unsigned char type, unsigned char tpid)
{
if(pdu == NULL || length <= 0)
void ipc_sms_incoming_msg_complete(char *pdu, int length, unsigned char type, unsigned char tpid)
{
if(pdu == NULL || length <= 0)
*/
void ril_request_sms_acknowledge(RIL_Token t, void *data, size_t length)
{
*/
void ril_request_sms_acknowledge(RIL_Token t, void *data, size_t length)
{
- struct ipc_sms_incoming_msg_info *incoming_msg;
struct ipc_sms_deliver_report_request report_msg;
int success, fail_cause;
struct ipc_sms_deliver_report_request report_msg;
int success, fail_cause;
if(ril_data.state.sms_incoming_msg_tpid == 0) {
LOGE("There is no SMS message to ACK!");
ril_request_complete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
if(ril_data.state.sms_incoming_msg_tpid == 0) {
LOGE("There is no SMS message to ACK!");
ril_request_complete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
+ ipc_sms_incoming_msg_next();
ipc_fmt_send(IPC_SMS_DELIVER_REPORT, IPC_TYPE_EXEC, (void *) &report_msg, sizeof(report_msg), ril_request_get_id(t));
ipc_fmt_send(IPC_SMS_DELIVER_REPORT, IPC_TYPE_EXEC, (void *) &report_msg, sizeof(report_msg), ril_request_get_id(t));
- ril_data.state.sms_incoming_msg_tpid = 0;
-
- incoming_msg = ipc_sms_incoming_msg_info_find();
- if(incoming_msg == NULL)
- return;
-
- ipc_sms_incoming_msg_complete(incoming_msg->pdu, incoming_msg->length, incoming_msg->type, incoming_msg->tpid);
- ipc_sms_incoming_msg_unregister(incoming_msg);
+ ipc_sms_incoming_msg_next();