aboutsummaryrefslogtreecommitdiff
path: root/src/mm-sms-part.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-09-10 20:13:00 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-09-14 07:05:24 +0200
commit1c119be83492dac56f8d2ea5bd6b8717ccda1ae6 (patch)
tree4d7b1cefbb8c79b3d4a14c94ce6eac0cb5ed7063 /src/mm-sms-part.c
parentb42b5795e33e052e7dacc4731af89fde44f56ff5 (diff)
api: new `Sms.DeliveryReportRequest' property
Also allowing the 'delivery-report-request' key in the `Messaging.CreateSms()' method.
Diffstat (limited to 'src/mm-sms-part.c')
-rw-r--r--src/mm-sms-part.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/mm-sms-part.c b/src/mm-sms-part.c
index 62debf59..f0b36ce4 100644
--- a/src/mm-sms-part.c
+++ b/src/mm-sms-part.c
@@ -269,6 +269,7 @@ struct _MMSmsPart {
guint data_coding_scheme;
guint class;
guint validity;
+ gboolean delivery_report_request;
gboolean should_concat;
guint concat_reference;
@@ -342,6 +343,8 @@ PART_GET_FUNC (guint, class)
PART_SET_FUNC (guint, class)
PART_GET_FUNC (guint, validity)
PART_SET_FUNC (guint, validity)
+PART_GET_FUNC (gboolean, delivery_report_request)
+PART_SET_FUNC (gboolean, delivery_report_request)
PART_GET_FUNC (guint, concat_reference)
@@ -759,8 +762,18 @@ mm_sms_part_get_submit_pdu (MMSmsPart *part,
pdu[offset] |= 0x40; /* UDHI */
}
- /* TODO: Request status only in last part */
- pdu[offset++] |= 0x01; /* TP-MTI = SMS-SUBMIT */
+ /* Delivery report requested in singlepart messages or in the last PDU of
+ * multipart messages */
+ if (part->delivery_report_request &&
+ (!part->concat_sequence ||
+ part->concat_max == part->concat_sequence)) {
+ mm_dbg (" requesting delivery report...");
+ pdu[offset] |= 0x20;
+ }
+
+ /* TP-MTI = SMS-SUBMIT */
+ pdu[offset++] |= 0x01;
+
/* ----------- TP-MR (1 byte) ----------- */