sms-part: handle CDMA teleservice ID and service category

This commit is contained in:
Aleksander Morgado
2013-07-22 20:00:15 +02:00
parent df986c076d
commit 7db17b64a3
3 changed files with 21 additions and 2 deletions

View File

@@ -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;

View File

@@ -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 */

View File

@@ -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)) :