diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-08-14 16:14:37 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-09-09 10:19:20 +0200 |
commit | e6a7c85661d33493a8de7f19c6c7ff8773b83e8c (patch) | |
tree | f59cdd1631b12c4b9c83f3c16571bc23506ab556 /src/mm-modem-helpers-qmi.c | |
parent | df47f1ac8f696c2712efc8c76bd9551d88c3d837 (diff) |
broadband-modem-qmi: handle OMA indications
Diffstat (limited to 'src/mm-modem-helpers-qmi.c')
-rw-r--r-- | src/mm-modem-helpers-qmi.c | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c index 61d8b271..ece937ef 100644 --- a/src/mm-modem-helpers-qmi.c +++ b/src/mm-modem-helpers-qmi.c @@ -1271,3 +1271,83 @@ mm_modem_capability_from_qmi_capabilities_context (MMQmiCapabilitiesContext *ctx return tmp; } + +/*****************************************************************************/ + +MMOmaSessionType +mm_oma_session_type_from_qmi_oma_session_type (QmiOmaSessionType qmi_session_type) +{ + switch (qmi_session_type) { + case QMI_OMA_SESSION_TYPE_CLIENT_INITIATED_DEVICE_CONFIGURE: + return MM_OMA_SESSION_TYPE_CLIENT_INITIATED_DEVICE_CONFIGURE; + case QMI_OMA_SESSION_TYPE_CLIENT_INITIATED_PRL_UPDATE: + return MM_OMA_SESSION_TYPE_CLIENT_INITIATED_PRL_UPDATE; + case QMI_OMA_SESSION_TYPE_CLIENT_INITIATED_HANDS_FREE_ACTIVATION: + return MM_OMA_SESSION_TYPE_CLIENT_INITIATED_HANDS_FREE_ACTIVATION; + case QMI_OMA_SESSION_TYPE_DEVICE_INITIATED_HANDS_FREE_ACTIVATION: + return MM_OMA_SESSION_TYPE_DEVICE_INITIATED_HANDS_FREE_ACTIVATION; + case QMI_OMA_SESSION_TYPE_NETWORK_INITIATED_PRL_UPDATE: + return MM_OMA_SESSION_TYPE_NETWORK_INITIATED_PRL_UPDATE; + case QMI_OMA_SESSION_TYPE_NETWORK_INITIATED_DEVICE_CONFIGURE: + return MM_OMA_SESSION_TYPE_NETWORK_INITIATED_DEVICE_CONFIGURE; + case QMI_OMA_SESSION_TYPE_DEVICE_INITIATED_PRL_UPDATE: + return MM_OMA_SESSION_TYPE_DEVICE_INITIATED_PRL_UPDATE; + default: + return MM_OMA_SESSION_TYPE_UNKNOWN; + } +} + +MMOmaSessionState +mm_oma_session_state_from_qmi_oma_session_state (QmiOmaSessionState qmi_session_state) +{ + /* Note: MM_OMA_SESSION_STATE_STARTED is not a state received from the modem */ + + switch (qmi_session_state) { + case QMI_OMA_SESSION_STATE_COMPLETE_INFORMATION_UPDATED: + case QMI_OMA_SESSION_STATE_COMPLETE_UPDATED_INFORMATION_UNAVAILABLE: + return MM_OMA_SESSION_STATE_COMPLETED; + case QMI_OMA_SESSION_STATE_FAILED: + return MM_OMA_SESSION_STATE_FAILED; + case QMI_OMA_SESSION_STATE_RETRYING: + return MM_OMA_SESSION_STATE_RETRYING; + case QMI_OMA_SESSION_STATE_CONNECTING: + return MM_OMA_SESSION_STATE_CONNECTING; + case QMI_OMA_SESSION_STATE_CONNECTED: + return MM_OMA_SESSION_STATE_CONNECTED; + case QMI_OMA_SESSION_STATE_AUTHENTICATED: + return MM_OMA_SESSION_STATE_AUTHENTICATED; + case QMI_OMA_SESSION_STATE_MDN_DOWNLOADED: + return MM_OMA_SESSION_STATE_MDN_DOWNLOADED; + case QMI_OMA_SESSION_STATE_MSID_DOWNLOADED: + return MM_OMA_SESSION_STATE_MSID_DOWNLOADED; + case QMI_OMA_SESSION_STATE_PRL_DOWNLOADED: + return MM_OMA_SESSION_STATE_PRL_DOWNLOADED; + case QMI_OMA_SESSION_STATE_MIP_PROFILE_DOWNLOADED: + return MM_OMA_SESSION_STATE_MIP_PROFILE_DOWNLOADED; + default: + return MM_OMA_SESSION_STATE_UNKNOWN; + } +} + +/*****************************************************************************/ + +MMOmaSessionStateFailedReason +mm_oma_session_state_failed_reason_from_qmi_oma_session_failed_reason (QmiOmaSessionFailedReason qmi_session_failed_reason) +{ + switch (qmi_session_failed_reason) { + case QMI_OMA_SESSION_FAILED_REASON_UNKNOWN: + return MM_OMA_SESSION_STATE_FAILED_REASON_UNKNOWN; + case QMI_OMA_SESSION_FAILED_REASON_NETWORK_UNAVAILABLE: + return MM_OMA_SESSION_STATE_FAILED_REASON_NETWORK_UNAVAILABLE; + case QMI_OMA_SESSION_FAILED_REASON_SERVER_UNAVAILABLE: + return MM_OMA_SESSION_STATE_FAILED_REASON_SERVER_UNAVAILABLE; + case QMI_OMA_SESSION_FAILED_REASON_AUTHENTICATION_FAILED: + return MM_OMA_SESSION_STATE_FAILED_REASON_AUTHENTICATION_FAILED; + case QMI_OMA_SESSION_FAILED_REASON_MAX_RETRY_EXCEEDED: + return MM_OMA_SESSION_STATE_FAILED_REASON_MAX_RETRY_EXCEEDED; + case QMI_OMA_SESSION_FAILED_REASON_SESSION_CANCELLED: + return MM_OMA_SESSION_STATE_FAILED_REASON_SESSION_CANCELLED; + default: + return MM_OMA_SESSION_STATE_FAILED_REASON_UNKNOWN; + } +} |