diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2022-11-10 10:46:58 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2022-11-10 10:47:33 +0000 |
commit | 7e0af1d99d0976e722142f974242cab30f6d6c5d (patch) | |
tree | 5ed29878a2bd3c2ab1e454d2915880472879c4bc /src/mm-modem-helpers.c | |
parent | f446bd9dac953a4309c237b3c73ba9191be631d7 (diff) |
modem-helpers: new method to check if reg state is registered
Diffstat (limited to 'src/mm-modem-helpers.c')
-rw-r--r-- | src/mm-modem-helpers.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 93d9fda0..7b243543 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -800,6 +800,30 @@ mm_flow_control_from_string (const gchar *str, /*************************************************************************/ +gboolean +mm_modem_3gpp_registration_state_is_registered (MMModem3gppRegistrationState state) +{ + switch (state) { + 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_EMERGENCY_ONLY: + case MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED: + case MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED: + case MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS: + return TRUE; + case MM_MODEM_3GPP_REGISTRATION_STATE_IDLE: + case MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING: + case MM_MODEM_3GPP_REGISTRATION_STATE_DENIED: + case MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN: + default: + return FALSE; + } +} + +/*************************************************************************/ + static const gchar *creg_regex[] = { /* +CREG: <stat> (GSM 07.07 CREG=1 unsolicited) */ [0] = "\\+(CREG|CGREG|CEREG|C5GREG):\\s*0*([0-9])", |