diff options
Diffstat (limited to 'src/mm-modem-helpers-qmi.c')
-rw-r--r-- | src/mm-modem-helpers-qmi.c | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c index 61d8b27..4a818ec 100644 --- a/src/mm-modem-helpers-qmi.c +++ b/src/mm-modem-helpers-qmi.c @@ -1271,3 +1271,106 @@ 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; + } +} + +QmiOmaSessionType +mm_oma_session_type_to_qmi_oma_session_type (MMOmaSessionType mm_session_type) +{ + switch (mm_session_type) { + case MM_OMA_SESSION_TYPE_CLIENT_INITIATED_DEVICE_CONFIGURE: + return QMI_OMA_SESSION_TYPE_CLIENT_INITIATED_DEVICE_CONFIGURE; + case MM_OMA_SESSION_TYPE_CLIENT_INITIATED_PRL_UPDATE: + return QMI_OMA_SESSION_TYPE_CLIENT_INITIATED_PRL_UPDATE; + case MM_OMA_SESSION_TYPE_CLIENT_INITIATED_HANDS_FREE_ACTIVATION: + return QMI_OMA_SESSION_TYPE_CLIENT_INITIATED_HANDS_FREE_ACTIVATION; + case MM_OMA_SESSION_TYPE_DEVICE_INITIATED_HANDS_FREE_ACTIVATION: + return QMI_OMA_SESSION_TYPE_DEVICE_INITIATED_HANDS_FREE_ACTIVATION; + case MM_OMA_SESSION_TYPE_NETWORK_INITIATED_PRL_UPDATE: + return QMI_OMA_SESSION_TYPE_NETWORK_INITIATED_PRL_UPDATE; + case MM_OMA_SESSION_TYPE_NETWORK_INITIATED_DEVICE_CONFIGURE: + return QMI_OMA_SESSION_TYPE_NETWORK_INITIATED_DEVICE_CONFIGURE; + case MM_OMA_SESSION_TYPE_DEVICE_INITIATED_PRL_UPDATE: + return QMI_OMA_SESSION_TYPE_DEVICE_INITIATED_PRL_UPDATE; + default: + g_assert_not_reached (); + } +} + +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; + } +} |