aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers-qmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-modem-helpers-qmi.c')
-rw-r--r--src/mm-modem-helpers-qmi.c103
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;
+ }
+}