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.
This commit is contained in:
Som_SP
2021-11-04 11:11:27 +01:00
committed by Aleksander Morgado
parent 922bc2df5f
commit e951008ae8
4 changed files with 73 additions and 0 deletions

View File

@@ -27,6 +27,7 @@ MMModem3gppRegistrationState
MMModem3gppUssdSessionState
MMModem3gppEpsUeModeOperation
MMModem3gppPacketServiceState
MMModem3gppMicoMode
MMModemAccessTechnology
MMModemBand
MMModemCapability

View File

@@ -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

View File

@@ -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_ */

View File

@@ -124,6 +124,22 @@
<arg name="settings" type="a{sv}" direction="in" />
</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:
@@ -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>