api,bearer: new 'profile-id' setting

We define a new 'profile-id' setting in the bearer properties that
users will use to specify which connection profile of the ones
available in the device should be connected.

When the 'profile-id' is given, the associated bearer object will be
bound to the 'profile-id', and the user is able to provide additional
settings to apply on top (e.g. if the profile storage doesn't allow
some of the settings we support, like 'apn-type', or if the setting is
completely unrelated to profiles, like 'multiplex').

After introducing the 'profile-id' as a valid setting in the bearer
properties, we also reimplement the properties object internals to
make use a 3GPP profile for the subset of common settings between both
objects.
This commit is contained in:
Aleksander Morgado
2021-04-04 13:31:28 +02:00
parent e2789b18a1
commit 793370f2f8
10 changed files with 257 additions and 206 deletions

View File

@@ -414,6 +414,18 @@
value (signature <literal>"s"</literal>).
</listitem>
</varlistentry>
<varlistentry><term><literal>"profile-id"</literal></term>
<listitem>
The ID of the 3GPP profile to connect to (signature
<literal>"i"</literal>), as given in the
<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-ProfileManager.List">profile list</link>.
In this case, if additional profile settings are given in the properties
and they already exist in the profile (e.g. <literal>"apn"</literal>),
the new settings will be explicitly ignored; the settings stored in the
profile itself always take preference. The value -1 is used to
indicate an invalid or uninitialized profile id. Since 1.18.
</listitem>
</varlistentry>
</variablelist>
The following settings apply to 3GPP2 (CDMA/EVDO) devices: