summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSom_SP <somashekhar.puttagangaiah@intel.com>2021-11-04 11:11:27 +0100
committerAleksander Morgado <aleksander@aleksander.es>2021-12-24 12:41:27 +0000
commite951008ae83940dee8bdbcac8d10ef3351747cc9 (patch)
tree5d8074c8331816d2f96717d9171f3af0dc1b52f5
parent922bc2df5f9242c8052abbab08ceddeef9e20de9 (diff)
downloadModemManager-e951008ae83940dee8bdbcac8d10ef3351747cc9.tar.gz
api,modem3gpp: new 5G registration settings support and MICO mode
A new set of property+method is added to be able to configure the 5G specific registration settings, initially defining the support for the MICO mode. The property name starts with "Nr5g" instead of "5gNr" because of the limitations imposed by the GObject type system on how properties with numbers can be named.
-rw-r--r--docs/reference/api/ModemManager-sections.txt1
-rw-r--r--docs/reference/libmm-glib/libmm-glib-sections.txt11
-rw-r--r--include/ModemManager-enums.h20
-rw-r--r--introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml41
4 files changed, 73 insertions, 0 deletions
diff --git a/docs/reference/api/ModemManager-sections.txt b/docs/reference/api/ModemManager-sections.txt
index 2e85ce35c..4b0232745 100644
--- a/docs/reference/api/ModemManager-sections.txt
+++ b/docs/reference/api/ModemManager-sections.txt
@@ -27,6 +27,7 @@ MMModem3gppRegistrationState
MMModem3gppUssdSessionState
MMModem3gppEpsUeModeOperation
MMModem3gppPacketServiceState
+MMModem3gppMicoMode
MMModemAccessTechnology
MMModemBand
MMModemCapability
diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt
index 3f03ea6d8..de4cfccd1 100644
--- a/docs/reference/libmm-glib/libmm-glib-sections.txt
+++ b/docs/reference/libmm-glib/libmm-glib-sections.txt
@@ -1718,6 +1718,7 @@ mm_modem_3gpp_network_availability_get_string
mm_modem_3gpp_ussd_session_state_get_string
mm_modem_3gpp_eps_ue_mode_operation_get_string
mm_modem_3gpp_packet_service_state_get_string
+mm_modem_3gpp_mico_mode_get_string
mm_modem_cdma_registration_state_get_string
mm_modem_cdma_activation_state_get_string
mm_modem_cdma_rm_protocol_get_string
@@ -1774,6 +1775,7 @@ mm_modem_cdma_activation_state_build_string_from_mask
mm_modem_cdma_rm_protocol_build_string_from_mask
mm_modem_3gpp_registration_state_build_string_from_mask
mm_modem_3gpp_packet_service_state_build_string_from_mask
+mm_modem_3gpp_mico_mode_build_string_from_mask
mm_modem_3gpp_subscription_state_build_string_from_mask
mm_modem_3gpp_facility_get_string
mm_modem_3gpp_network_availability_build_string_from_mask
@@ -1807,6 +1809,7 @@ MM_TYPE_MODEM_3GPP_SUBSCRIPTION_STATE
MM_TYPE_MODEM_3GPP_USSD_SESSION_STATE
MM_TYPE_MODEM_3GPP_EPS_UE_MODE_OPERATION
MM_TYPE_MODEM_3GPP_PACKET_SERVICE_STATE
+MM_TYPE_MODEM_3GPP_MICO_MODE
MM_TYPE_MODEM_ACCESS_TECHNOLOGY
MM_TYPE_MODEM_BAND
MM_TYPE_MODEM_CAPABILITY
@@ -1855,6 +1858,7 @@ mm_modem_3gpp_subscription_state_get_type
mm_modem_3gpp_ussd_session_state_get_type
mm_modem_3gpp_eps_ue_mode_operation_get_type
mm_modem_3gpp_packet_service_state_get_type
+mm_modem_3gpp_mico_mode_get_type
mm_modem_access_technology_get_type
mm_modem_band_get_type
mm_modem_capability_get_type
@@ -2144,6 +2148,8 @@ mm_gdbus_modem3gpp_dup_initial_eps_bearer
mm_gdbus_modem3gpp_get_initial_eps_bearer_settings
mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings
mm_gdbus_modem3gpp_get_packet_service_state
+mm_gdbus_modem3gpp_dup_nr5g_registration_settings
+mm_gdbus_modem3gpp_get_nr5g_registration_settings
<SUBSECTION Methods>
mm_gdbus_modem3gpp_call_register
mm_gdbus_modem3gpp_call_register_finish
@@ -2163,6 +2169,9 @@ mm_gdbus_modem3gpp_call_disable_facility_lock_sync
mm_gdbus_modem3gpp_call_set_packet_service_state
mm_gdbus_modem3gpp_call_set_packet_service_state_finish
mm_gdbus_modem3gpp_call_set_packet_service_state_sync
+mm_gdbus_modem3gpp_call_set_nr5g_registration_settings
+mm_gdbus_modem3gpp_call_set_nr5g_registration_settings_finish
+mm_gdbus_modem3gpp_call_set_nr5g_registration_settings_sync
<SUBSECTION Private>
mm_gdbus_modem3gpp_complete_register
mm_gdbus_modem3gpp_complete_scan
@@ -2170,6 +2179,7 @@ mm_gdbus_modem3gpp_complete_set_eps_ue_mode_operation
mm_gdbus_modem3gpp_complete_set_initial_eps_bearer_settings
mm_gdbus_modem3gpp_complete_disable_facility_lock
mm_gdbus_modem3gpp_complete_set_packet_service_state
+mm_gdbus_modem3gpp_complete_set_nr5g_registration_settings
mm_gdbus_modem3gpp_interface_info
mm_gdbus_modem3gpp_override_properties
mm_gdbus_modem3gpp_set_enabled_facility_locks
@@ -2183,6 +2193,7 @@ mm_gdbus_modem3gpp_set_pco
mm_gdbus_modem3gpp_set_initial_eps_bearer
mm_gdbus_modem3gpp_set_initial_eps_bearer_settings
mm_gdbus_modem3gpp_set_packet_service_state
+mm_gdbus_modem3gpp_set_nr5g_registration_settings
<SUBSECTION Standard>
MM_GDBUS_IS_MODEM3GPP
MM_GDBUS_MODEM3GPP
diff --git a/include/ModemManager-enums.h b/include/ModemManager-enums.h
index 764f52779..069d684ac 100644
--- a/include/ModemManager-enums.h
+++ b/include/ModemManager-enums.h
@@ -1777,4 +1777,24 @@ typedef enum { /*< underscore_name=mm_sim_removability >*/
MM_SIM_REMOVABILITY_NOT_REMOVABLE = 2,
} MMSimRemovability;
+/**
+ * MMModem3gppMicoMode:
+ * @MM_MODEM_3GPP_MICO_MODE_UNKNOWN: Unknown or not specified.
+ * @MM_MODEM_3GPP_MICO_MODE_UNSUPPORTED: Unsupported.
+ * @MM_MODEM_3GPP_MICO_MODE_DISABLED: Disabled.
+ * @MM_MODEM_3GPP_MICO_MODE_ENABLED: Enabled.
+ *
+ * Mobile Initiated Connection Only (MICO) mode.
+ *
+ * This is a 5G-specific registration setting.
+ *
+ * Since: 1.20
+ */
+typedef enum { /*< underscore_name=mm_modem_3gpp_mico_mode >*/
+ MM_MODEM_3GPP_MICO_MODE_UNKNOWN = 0,
+ MM_MODEM_3GPP_MICO_MODE_UNSUPPORTED = 1,
+ MM_MODEM_3GPP_MICO_MODE_DISABLED = 2,
+ MM_MODEM_3GPP_MICO_MODE_ENABLED = 3,
+} MMModem3gppMicoMode;
+
#endif /* _MODEMMANAGER_ENUMS_H_ */
diff --git a/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml b/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
index 0b4940104..6d200a813 100644
--- a/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
+++ b/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
@@ -125,6 +125,22 @@
</method>
<!--
+ SetNr5gRegistrationSettings:
+ @properties: List of 5G specific registration settings.
+
+ Updates the 5G specific registration settings configured in the device.
+
+ The allowed properties in this method are all the ones specified in the
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Nr5gRegistrationSettings">Nr5gRegistrationSettings</link>;
+ i.e.: <literal>"mico-mode"</literal>.
+
+ Since: 1.20
+ -->
+ <method name="SetNr5gRegistrationSettings">
+ <arg name="properties" type="a{sv}" direction="in" />
+ </method>
+
+ <!--
Imei:
The <ulink url="http://en.wikipedia.org/wiki/Imei">IMEI</ulink> of the device.
@@ -317,5 +333,30 @@
-->
<property name="PacketServiceState" type="u" access="read" />
+ <!--
+ Nr5gRegistrationSettings:
+
+ 5G specific registration settings.
+
+ This is a read-only property, updating these settings should be done using the
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetNr5gRegistrationSettings">Set5gNrRegistrationSettings()</link>
+ method.
+
+ <variablelist>
+ <varlistentry><term>"mico-mode"</term>
+ <listitem>
+ <para>
+ A <link linkend="MMModem3gppMicoMode">MMModem3gppMicoMode</link> value
+ representing the Mobile Initiated Connection (MICO) mode requested by the host,
+ given as an unsigned integer (signature <literal>"u"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ Since: 1.20
+ -->
+ <property name="Nr5gRegistrationSettings" type="a{sv}" access="read" />
+
</interface>
</node>