aboutsummaryrefslogtreecommitdiff
path: root/cli/mmcli-modem-simple.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-10-05 13:32:41 +0200
committerAleksander Morgado <aleksander@aleksander.es>2016-10-12 13:24:08 +0200
commitfe460b2f54b6a035a207815252fe87ee3a06351c (patch)
treed58b5312284d7fe4f0d5af29bd15e53595165cce /cli/mmcli-modem-simple.c
parenta561f6edf0317ee4eb86e6811cd8cd5a7fbf5e60 (diff)
3gpp: update registration state enumeration with CSFB related states
Introduce "sms only" and "CSFB not preferred" home/roaming states to be reported for the CS context, while already registered on LTE. Based on 3GPP TS 27.007 v13.5.0.
Diffstat (limited to 'cli/mmcli-modem-simple.c')
-rw-r--r--cli/mmcli-modem-simple.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/cli/mmcli-modem-simple.c b/cli/mmcli-modem-simple.c
index ed53ad6f..76426694 100644
--- a/cli/mmcli-modem-simple.c
+++ b/cli/mmcli-modem-simple.c
@@ -246,10 +246,13 @@ status_process_reply (MMSimpleStatus *result,
VALIDATE_UNKNOWN (bands_str),
VALIDATE_UNKNOWN (access_tech_str));
- if ((mm_simple_status_get_3gpp_registration_state (result) ==
- MM_MODEM_3GPP_REGISTRATION_STATE_HOME) ||
- (mm_simple_status_get_3gpp_registration_state (result) ==
- MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING)) {
+ switch (mm_simple_status_get_3gpp_registration_state (result)) {
+ case MM_MODEM_3GPP_REGISTRATION_STATE_HOME:
+ case MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING:
+ case MM_MODEM_3GPP_REGISTRATION_STATE_HOME_SMS_ONLY:
+ case MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_SMS_ONLY:
+ case MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED:
+ case MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED:
g_print (" -------------------------\n"
" 3GPP | registration: '%s'\n"
" | operator code: '%s'\n"
@@ -261,6 +264,9 @@ status_process_reply (MMSimpleStatus *result,
VALIDATE_UNKNOWN (mm_simple_status_get_3gpp_operator_name (result)),
mm_modem_3gpp_subscription_state_get_string (
mm_simple_status_get_3gpp_subscription_state (result)));
+ break;
+ default:
+ break;
}
if ((mm_simple_status_get_cdma_cdma1x_registration_state (result) !=