Open Source Telephony
 help / color / mirror / Atom feed
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);



  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