diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-03-24 07:01:36 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-04-09 12:38:50 +0000 |
commit | 68917f502e60a73bd1904bf6bf98b65354a55251 (patch) | |
tree | 3c7ba220a273e1634426c0925c82bbbe057dce71 | |
parent | 1c7304eb718a76dc679b1c08d3e5f0a5cf2d7a2d (diff) |
api: new 'attached RLOS' registration state
Reporting the state when the UE attaches to access restricted local
operator services.
-rw-r--r-- | include/ModemManager-enums.h | 2 | ||||
-rw-r--r-- | src/mm-base-bearer.c | 1 | ||||
-rw-r--r-- | src/mm-modem-helpers.c | 4 |
3 files changed, 5 insertions, 2 deletions
diff --git a/include/ModemManager-enums.h b/include/ModemManager-enums.h index 47d2ccca..9377ba0f 100644 --- a/include/ModemManager-enums.h +++ b/include/ModemManager-enums.h @@ -1193,6 +1193,7 @@ typedef enum { /*< underscore_name=mm_modem_cdma_rm_protocol >*/ * @MM_MODEM_3GPP_REGISTRATION_STATE_EMERGENCY_ONLY: Emergency services only. Since 1.8. * @MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED: Registered for "CSFB not preferred", home network (applicable only when on LTE). Since 1.8. * @MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED: Registered for "CSFB not preferred", roaming network (applicable only when on LTE). Since 1.8. + * @MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS: Attached for access to Restricted Local Operator Services (applicable only when on LTE). Since 1.14. * * GSM registration code as defined in 3GPP TS 27.007. * @@ -1210,6 +1211,7 @@ typedef enum { /*< underscore_name=mm_modem_3gpp_registration_state >*/ MM_MODEM_3GPP_REGISTRATION_STATE_EMERGENCY_ONLY = 8, MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED = 9, MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED = 10, + MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS = 11, } MMModem3gppRegistrationState; /** diff --git a/src/mm-base-bearer.c b/src/mm-base-bearer.c index c74eccff..461c4058 100644 --- a/src/mm-base-bearer.c +++ b/src/mm-base-bearer.c @@ -480,6 +480,7 @@ modem_3gpp_registration_state_changed (MMIfaceModem3gpp *modem, case MM_MODEM_3GPP_REGISTRATION_STATE_HOME_SMS_ONLY: case MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED: case MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING: + case MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS: self->priv->reason_3gpp = CONNECTION_FORBIDDEN_REASON_NONE; break; case MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING: diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 5ecbfe12..e6dbd74c 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -2096,8 +2096,8 @@ mm_3gpp_parse_creg_response (GMatchInfo *info, return FALSE; } - /* 'roaming (csfb not preferred)' is the last valid state */ - if (stat > MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED) { + /* 'attached RLOS' is the last valid state */ + if (stat > MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS) { mm_obj_warn (log_object, "unknown registration state value '%lu'", stat); stat = MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN; } |