aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksandermj@chromium.org>2022-11-10 10:46:58 +0000
committerAleksander Morgado <aleksandermj@chromium.org>2022-11-10 10:47:33 +0000
commit7e0af1d99d0976e722142f974242cab30f6d6c5d (patch)
tree5ed29878a2bd3c2ab1e454d2915880472879c4bc /src/mm-modem-helpers.c
parentf446bd9dac953a4309c237b3c73ba9191be631d7 (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.c24
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])",