summaryrefslogtreecommitdiff
path: root/cli/mmcli-sms.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-08-20 18:50:30 +0200
committerAleksander Morgado <aleksander@lanedo.com>2013-10-25 19:47:19 +0200
commit5267cf6f4a4eace00c216d733a92f6ecae55e8cc (patch)
treefc3a542422dbc0308c34cb5ed78b2677d2d51bc7 /cli/mmcli-sms.c
parent7a56b143aa5dc4d4fe8794d4f70dd6945f628b87 (diff)
downloadModemManager-5267cf6f4a4eace00c216d733a92f6ecae55e8cc.tar.gz
cli,sms: print properties just when they are available
The logic to decide whether a property is valid in a given PDU type is kind of fuzzy for 3GPP2 as it is currently implemented; so just print whatever we have in the interface.
Diffstat (limited to 'cli/mmcli-sms.c')
-rw-r--r--cli/mmcli-sms.c50
1 files changed, 23 insertions, 27 deletions
diff --git a/cli/mmcli-sms.c b/cli/mmcli-sms.c
index 2ff9016a2..c49c8e821 100644
--- a/cli/mmcli-sms.c
+++ b/cli/mmcli-sms.c
@@ -191,49 +191,45 @@ print_sms_info (MMSms *sms)
g_print (" | storage: '%s'\n",
mm_sms_storage_get_string (mm_sms_get_storage (sms)));
- /* Class and SMSC will be 3GPP-specific */
- if (pdu_type == MM_SMS_PDU_TYPE_DELIVER ||
- pdu_type == MM_SMS_PDU_TYPE_SUBMIT ||
- pdu_type == MM_SMS_PDU_TYPE_STATUS_REPORT) {
- g_print (" | smsc: '%s'\n"
- " | class: '%d'\n",
- VALIDATE (mm_sms_get_smsc (sms)),
+ /* Print properties which are set, regardless of the pdu type */
+
+ if (mm_sms_get_smsc (sms))
+ g_print (" | smsc: '%s'\n",
+ mm_sms_get_smsc (sms));
+
+ if (mm_sms_get_class (sms) >= 0)
+ g_print (" | class: '%d'\n",
mm_sms_get_class (sms));
- }
- /* Teleservice ID and service category are 3GPP2 specific */
- else if (pdu_type == MM_SMS_PDU_TYPE_CDMA_DELIVER ||
- pdu_type == MM_SMS_PDU_TYPE_CDMA_SUBMIT ||
- pdu_type == MM_SMS_PDU_TYPE_CDMA_CANCELLATION ||
- pdu_type == MM_SMS_PDU_TYPE_CDMA_DELIVERY_ACKNOWLEDGEMENT ||
- pdu_type == MM_SMS_PDU_TYPE_CDMA_USER_ACKNOWLEDGEMENT ||
- pdu_type == MM_SMS_PDU_TYPE_CDMA_READ_ACKNOWLEDGEMENT) {
- g_print (" | teleservice id: '%s'\n"
- " | service category: '%s'\n",
- mm_sms_cdma_teleservice_id_get_string (mm_sms_get_teleservice_id (sms)),
+
+ if (mm_sms_get_teleservice_id (sms) != MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN)
+ g_print (" | teleservice id: '%s'\n",
+ mm_sms_cdma_teleservice_id_get_string (mm_sms_get_teleservice_id (sms)));
+
+ if (mm_sms_get_service_category (sms) != MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN)
+ g_print (" | service category: '%s'\n",
mm_sms_cdma_service_category_get_string (mm_sms_get_service_category (sms)));
- }
+ /* Delivery report request just in 3GPP submit PDUs */
if (pdu_type == MM_SMS_PDU_TYPE_SUBMIT)
g_print (" | delivery report: '%s'\n",
mm_sms_get_delivery_report_request (sms) ? "requested" : "not requested");
- if (pdu_type == MM_SMS_PDU_TYPE_STATUS_REPORT ||
- pdu_type == MM_SMS_PDU_TYPE_SUBMIT)
+ if (mm_sms_get_message_reference (sms) != 0)
g_print (" | message reference: '%u'\n",
mm_sms_get_message_reference (sms));
- if (pdu_type == MM_SMS_PDU_TYPE_STATUS_REPORT ||
- pdu_type == MM_SMS_PDU_TYPE_DELIVER)
+ if (mm_sms_get_timestamp (sms))
g_print (" | timestamp: '%s'\n",
- VALIDATE (mm_sms_get_timestamp (sms)));
+ mm_sms_get_timestamp (sms));
- if (pdu_type == MM_SMS_PDU_TYPE_STATUS_REPORT) {
+ if (mm_sms_get_delivery_state (sms) != MM_SMS_DELIVERY_STATE_UNKNOWN)
g_print (" | delivery state: '%s' (0x%X)\n",
VALIDATE (mm_sms_delivery_state_get_string_extended (mm_sms_get_delivery_state (sms))),
mm_sms_get_delivery_state (sms));
+
+ if (mm_sms_get_discharge_timestamp (sms))
g_print (" | discharge timestamp: '%s'\n",
- VALIDATE (mm_sms_get_discharge_timestamp (sms)));
- }
+ mm_sms_get_discharge_timestamp (sms));
}
static void