From: Inaky Perez-Gonzalez <inaky@linux.intel.com>
To: ofono@ofono.org
Subject: Re: [SMS D-Bus 22/23] SMS: set the SRR bit in outgoing PDUs if WFA is requested
Date: Mon, 28 Jun 2010 16:30:35 -0700 [thread overview]
Message-ID: <1277767835.3006.30.camel@localhost.localdomain> (raw)
In-Reply-To: <573bb219ad28699c9c68e1eab80b7ef1659ab1ea.1277507431.git.inaky.perez-gonzalez@intel.com>
[-- Attachment #1: Type: text/plain, Size: 1964 bytes --]
The final patch in this series for integrating the status report into
D-Bus message state machine is added here -- don't want to resubmit the
whole thing as this is still an RFC.
From 2a22f2cb4328c54fb5cb544056541de63667588c Mon Sep 17 00:00:00 2001
From: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Date: Mon, 28 Jun 2010 16:18:27 -0700
Subject: [PATCH] SMS: hookup status reports to message status machine
When a message is waiting for a delivery report, it gets added to an
special queue and it will show in D-Bus. Make it so that when the
message's delivery is acknowledged, the message's status machine is
updated, and thus, D-Bus signals for it are delivered.
---
src/sms.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/src/sms.c b/src/sms.c
index 27a3d64..bc0f80f 100644
--- a/src/sms.c
+++ b/src/sms.c
@@ -1148,6 +1148,21 @@ static void handle_deliver(struct ofono_sms *sms, const struct sms *incoming)
g_slist_free(l);
}
+
+static void __sms_find_destroy_by_msg_id(gpointer _sms_msg, gpointer _msg_id)
+{
+ unsigned msg_id = (unsigned) _msg_id;
+ struct tx_queue_entry *sms_msg = _sms_msg;
+
+ if (sms_msg->msg_id != msg_id)
+ return;
+ ofono_debug("SMS: ACKED %p msg_id match %x", sms_msg, msg_id);
+ g_queue_remove(sms_msg->sms_mgr->tx_wfaq, sms_msg);
+ ofono_sms_tx_state_set(sms_msg, OFONO_SMS_TX_ST_DONE);
+ tx_queue_entry_destroy_free(sms_msg, NULL);
+}
+
+
static void handle_sms_status_report(struct ofono_sms *sms,
const struct sms *incoming)
{
@@ -1159,6 +1174,9 @@ static void handle_sms_status_report(struct ofono_sms *sms,
&delivered) == FALSE)
return;
+ g_queue_foreach(sms->tx_wfaq, __sms_find_destroy_by_msg_id,
+ (void *) msg_id);
+
__ofono_history_sms_send_status(modem, msg_id, time(NULL),
delivered ? OFONO_HISTORY_SMS_STATUS_DELIVERED :
OFONO_HISTORY_SMS_STATUS_DELIVER_FAILED);
next prev parent reply other threads:[~2010-06-28 23:30 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-25 23:15 [SMS D-Bus 00/23] Exports SMS over D-Bus and mis cleanups Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 01/23] documentation: add note about referencing standards Inaky Perez-Gonzalez
2010-07-02 20:35 ` Denis Kenzior
2010-06-25 23:15 ` [SMS D-Bus 02/23] util.h: Add BUILD_BUG_ON() and friends for compile-time assert checking Inaky Perez-Gonzalez
2010-06-25 23:46 ` Marcel Holtmann
2010-06-28 16:49 ` Inaky Perez-Gonzalez
2010-06-28 17:01 ` Denis Kenzior
2010-06-28 16:58 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 03/23] smutil.h: add missing header file dependencies Inaky Perez-Gonzalez
2010-06-25 23:48 ` Marcel Holtmann
2010-06-28 16:52 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 04/23] write_file: make transaction-safe Inaky Perez-Gonzalez
2010-07-02 20:39 ` Denis Kenzior
2010-07-02 21:25 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 05/23] doc: explain debugging options to -d, add a pointer in -h to manpage Inaky Perez-Gonzalez
2010-07-02 20:43 ` Denis Kenzior
2010-07-02 21:18 ` Inaky Perez-Gonzalez
2010-07-02 21:19 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 06/23] SMS: introduce message ID API Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 07/23] introduce DECLARE_SMS_ADDR_STR() Inaky Perez-Gonzalez
2010-07-07 22:54 ` Denis Kenzior
2010-07-07 23:28 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 08/23] export sms_assembly_encode_address Inaky Perez-Gonzalez
2010-07-07 22:57 ` Denis Kenzior
2010-07-07 23:28 ` Inaky Perez-Gonzalez
2010-07-07 23:36 ` Denis Kenzior
2010-06-25 23:15 ` [SMS D-Bus 09/23] SMS: implement SHA256-based message IDs [incomplete] Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 10/23] sms: add doc about the extensions D-Bus API (not yet implemented) Inaky Perez-Gonzalez
2010-07-07 23:01 ` Denis Kenzior
2010-07-07 23:31 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 11/23] struct tx_queue_entry: add fields and destructor Inaky Perez-Gonzalez
2010-07-07 23:04 ` Denis Kenzior
2010-07-07 23:24 ` Inaky Perez-Gonzalez
2010-07-07 23:32 ` Denis Kenzior
2010-07-07 23:31 ` Inaky Perez-Gonzalez
2010-07-07 23:39 ` Denis Kenzior
2010-07-08 23:28 ` Inaky Perez-Gonzalez
2010-07-08 23:38 ` Denis Kenzior
2010-07-08 23:37 ` Inaky Perez-Gonzalez
2010-07-09 0:03 ` Inaky Perez-Gonzalez
2010-07-09 0:22 ` Denis Kenzior
2010-07-09 17:11 ` Inaky Perez-Gonzalez
2010-07-09 17:19 ` Denis Kenzior
2010-07-09 21:53 ` Inaky Perez-Gonzalez
2010-07-09 22:28 ` Marcel Holtmann
2010-07-12 20:17 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 12/23] SMS: produce a unique, persistent name for in-transit messages Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 13/23] SMS: introduce bare state machine and transitions Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 14/23] SMS: export outgoing messages over D-Bus (skeleton) Inaky Perez-Gonzalez
2010-06-28 23:28 ` Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 15/23] SMS: split sms_send_message() into a D-Bus front end and an internal API Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 16/23] SMS: introduce wait-for-ack state and infrastructure Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 17/23] SMS: introduce sms_msg_cancel and its D-Bus wrapper Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 18/23] SMS: rename tx_queue_entry->msg to ->dbus_msg for clarity Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 19/23] SMS: Implement D-Bus SMS-MSG::GetProperties Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 20/23] SMS: send D-Bus SMS-MSG::ProperyChanged signals when message changes status Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 21/23] SMS: make D-Bus SendMessage and Cancel fully synchronous Inaky Perez-Gonzalez
2010-06-25 23:15 ` [SMS D-Bus 22/23] SMS: set the SRR bit in outgoing PDUs if WFA is requested Inaky Perez-Gonzalez
2010-06-28 23:30 ` Inaky Perez-Gonzalez [this message]
2010-06-25 23:15 ` [SMS D-Bus 23/23] sms_text_prepare: document @use_delivery_reports Inaky Perez-Gonzalez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1277767835.3006.30.camel@localhost.localdomain \
--to=inaky@linux.intel.com \
--cc=ofono@ofono.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox