From 0f86f7b15c240f6d8df09e5039cf28ef1a02eda7 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 1 Dec 2015 12:51:24 -0600 Subject: rilmodem: Add ril_util_registration_state_to_status --- drivers/rilmodem/rilutil.c | 24 ++++++++++++++++++++++++ drivers/rilmodem/rilutil.h | 2 ++ 2 files changed, 26 insertions(+) diff --git a/drivers/rilmodem/rilutil.c b/drivers/rilmodem/rilutil.c index f59f2541..dc9c3ccd 100644 --- a/drivers/rilmodem/rilutil.c +++ b/drivers/rilmodem/rilutil.c @@ -119,3 +119,27 @@ const char *ril_util_gprs_proto_to_ril_string(enum ofono_gprs_proto proto) return "IP"; } } + +int ril_util_registration_state_to_status(int reg_state) +{ + switch (reg_state) { + case RIL_REG_STATE_NOT_REGISTERED: + case RIL_REG_STATE_REGISTERED: + case RIL_REG_STATE_SEARCHING: + case RIL_REG_STATE_DENIED: + case RIL_REG_STATE_UNKNOWN: + case RIL_REG_STATE_ROAMING: + break; + + case RIL_REG_STATE_EMERGENCY_NOT_REGISTERED: + case RIL_REG_STATE_EMERGENCY_SEARCHING: + case RIL_REG_STATE_EMERGENCY_DENIED: + case RIL_REG_STATE_EMERGENCY_UNKNOWN: + reg_state -= RIL_REG_STATE_EMERGENCY_NOT_REGISTERED; + break; + default: + reg_state = NETWORK_REGISTRATION_STATUS_UNKNOWN; + } + + return reg_state; +} diff --git a/drivers/rilmodem/rilutil.h b/drivers/rilmodem/rilutil.h index 91996da5..bd5a5b11 100644 --- a/drivers/rilmodem/rilutil.h +++ b/drivers/rilmodem/rilutil.h @@ -124,6 +124,8 @@ static inline int ril_util_convert_signal_strength(int strength) const char *ril_util_gprs_proto_to_ril_string(enum ofono_gprs_proto); +int ril_util_registration_state_to_status(int reg_state); + #define DECLARE_FAILURE(e) \ struct ofono_error e; \ e.type = OFONO_ERROR_TYPE_FAILURE; \ -- cgit v1.2.3