aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-09-11 15:03:08 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-09-14 07:05:25 +0200
commit320984a4a00b886a7c6b61aa48413900efe56e86 (patch)
treeca4f7fd8ff990dce792495410cde5b9d643e8d45 /src
parentf1a73a5719002426f1f0a7ffdbec1dc1822c794c (diff)
api: new `DischargeTimestamp' property for Status Report SMS messages
Diffstat (limited to 'src')
-rw-r--r--src/mm-sms-part.c8
-rw-r--r--src/mm-sms-part.h6
-rw-r--r--src/mm-sms.c3
3 files changed, 14 insertions, 3 deletions
diff --git a/src/mm-sms-part.c b/src/mm-sms-part.c
index d252a85e..a42c8f53 100644
--- a/src/mm-sms-part.c
+++ b/src/mm-sms-part.c
@@ -321,6 +321,7 @@ struct _MMSmsPart {
MMSmsPduType pdu_type;
gchar *smsc;
gchar *timestamp;
+ gchar *discharge_timestamp;
gchar *number;
gchar *text;
MMSmsEncoding encoding;
@@ -339,6 +340,7 @@ struct _MMSmsPart {
void
mm_sms_part_free (MMSmsPart *self)
{
+ g_free (self->discharge_timestamp);
g_free (self->timestamp);
g_free (self->smsc);
g_free (self->number);
@@ -390,6 +392,8 @@ PART_GET_FUNC (const gchar *, number)
PART_SET_TAKE_STR_FUNC (number)
PART_GET_FUNC (const gchar *, timestamp)
PART_SET_TAKE_STR_FUNC (timestamp)
+PART_GET_FUNC (const gchar *, discharge_timestamp)
+PART_SET_TAKE_STR_FUNC (discharge_timestamp)
PART_GET_FUNC (guint, concat_max)
PART_SET_FUNC (guint, concat_max)
PART_GET_FUNC (guint, concat_sequence)
@@ -680,8 +684,8 @@ mm_sms_part_new_from_binary_pdu (guint index,
offset += 7;
/* ------ Discharge Timestamp (7 bytes) ------ */
- mm_sms_part_take_timestamp (sms_part,
- sms_decode_timestamp (&pdu[offset]));
+ mm_sms_part_take_discharge_timestamp (sms_part,
+ sms_decode_timestamp (&pdu[offset]));
offset += 7;
/* ----- TP-STATUS (1 byte) ------ */
diff --git a/src/mm-sms-part.h b/src/mm-sms-part.h
index 2d61e99e..c64914c7 100644
--- a/src/mm-sms-part.h
+++ b/src/mm-sms-part.h
@@ -74,6 +74,12 @@ void mm_sms_part_set_timestamp (MMSmsPart *part,
void mm_sms_part_take_timestamp (MMSmsPart *part,
gchar *timestamp);
+const gchar *mm_sms_part_get_discharge_timestamp (MMSmsPart *part);
+void mm_sms_part_set_discharge_timestamp (MMSmsPart *part,
+ const gchar *timestamp);
+void mm_sms_part_take_discharge_timestamp (MMSmsPart *part,
+ gchar *timestamp);
+
const gchar *mm_sms_part_get_text (MMSmsPart *part);
void mm_sms_part_set_text (MMSmsPart *part,
const gchar *text);
diff --git a/src/mm-sms.c b/src/mm-sms.c
index affe92d3..20dcc0da 100644
--- a/src/mm-sms.c
+++ b/src/mm-sms.c
@@ -1182,8 +1182,9 @@ assemble_sms (MMSms *self,
"smsc", mm_sms_part_get_smsc (sorted_parts[0]),
"class", mm_sms_part_get_class (sorted_parts[0]),
"number", mm_sms_part_get_number (sorted_parts[0]),
- "timestamp", mm_sms_part_get_timestamp (sorted_parts[0]),
"validity", mm_sms_part_get_validity (sorted_parts[0]),
+ "timestamp", mm_sms_part_get_timestamp (sorted_parts[0]),
+ "discharge-timestamp", mm_sms_part_get_discharge_timestamp (sorted_parts[0]),
/* delivery report request usually set in the last part only */
"delivery-report-request", mm_sms_part_get_delivery_report_request (sorted_parts[self->priv->max_parts - 1]),
NULL);