diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-07-22 20:00:15 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-10-25 19:47:18 +0200 |
commit | 7db17b64a3f7263f91c2f7e7625f3ba8a1d9a4b4 (patch) | |
tree | 98941112ec654e594398943991d56169218cbaa8 /src | |
parent | df986c076dec33128c2ba202062ce4338cef3ad2 (diff) |
sms-part: handle CDMA teleservice ID and service category
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-sms-part.c | 11 | ||||
-rw-r--r-- | src/mm-sms-part.h | 8 | ||||
-rw-r--r-- | src/mm-sms.c | 4 |
3 files changed, 21 insertions, 2 deletions
diff --git a/src/mm-sms-part.c b/src/mm-sms-part.c index 9dde8ed7..9aafcc36 100644 --- a/src/mm-sms-part.c +++ b/src/mm-sms-part.c @@ -48,6 +48,10 @@ struct _MMSmsPart { guint concat_reference; guint concat_max; guint concat_sequence; + + /* CDMA specific */ + MMSmsCdmaTeleserviceId cdma_teleservice_id; + MMSmsCdmaServiceCategory cdma_service_category; }; void @@ -162,6 +166,11 @@ mm_sms_part_should_concat (MMSmsPart *self) return self->should_concat; } +PART_GET_FUNC (MMSmsCdmaTeleserviceId, cdma_teleservice_id) +PART_SET_FUNC (MMSmsCdmaTeleserviceId, cdma_teleservice_id) +PART_GET_FUNC (MMSmsCdmaServiceCategory, cdma_service_category) +PART_SET_FUNC (MMSmsCdmaServiceCategory, cdma_service_category) + MMSmsPart * mm_sms_part_new (guint index, MMSmsPduType pdu_type) @@ -173,6 +182,8 @@ mm_sms_part_new (guint index, sms_part->pdu_type = pdu_type; sms_part->encoding = MM_SMS_ENCODING_UNKNOWN; sms_part->delivery_state = MM_SMS_DELIVERY_STATE_UNKNOWN; + sms_part->cdma_teleservice_id = MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN; + sms_part->cdma_service_category = MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN; sms_part->class = -1; return sms_part; diff --git a/src/mm-sms-part.h b/src/mm-sms-part.h index d5b373c5..822bad25 100644 --- a/src/mm-sms-part.h +++ b/src/mm-sms-part.h @@ -116,4 +116,12 @@ void mm_sms_part_set_concat_sequence (MMSmsPart *part, gboolean mm_sms_part_should_concat (MMSmsPart *part); +/* CDMA specific */ +MMSmsCdmaTeleserviceId mm_sms_part_get_cdma_teleservice_id (MMSmsPart *part); +void mm_sms_part_set_cdma_teleservice_id (MMSmsPart *part, + MMSmsCdmaTeleserviceId cdma_teleservice_id); +MMSmsCdmaServiceCategory mm_sms_part_get_cdma_service_category (MMSmsPart *part); +void mm_sms_part_set_cdma_service_category (MMSmsPart *part, + MMSmsCdmaServiceCategory cdma_service_category); + #endif /* MM_SMS_PART_H */ diff --git a/src/mm-sms.c b/src/mm-sms.c index e07273d6..48912d71 100644 --- a/src/mm-sms.c +++ b/src/mm-sms.c @@ -1500,8 +1500,8 @@ assemble_sms (MMSms *self, g_byte_array_ref (fulldata)), "smsc", mm_sms_part_get_smsc (sorted_parts[0]), "class", mm_sms_part_get_class (sorted_parts[0]), - "teleservice-id", MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN, - "service-category", MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN, + "teleservice-id", mm_sms_part_get_cdma_teleservice_id (sorted_parts[0]), + "service-category", mm_sms_part_get_cdma_service_category (sorted_parts[0]), "number", mm_sms_part_get_number (sorted_parts[0]), "validity", (validity_relative ? g_variant_new ("(uv)", MM_SMS_VALIDITY_TYPE_RELATIVE, g_variant_new_uint32 (validity_relative)) : |