api,bearer: new 'BearerType' property

Until now we have only allowed to use and setup 'default bearers' (in
4G) or 'primary contexts' (in 2G/3G).

We can define a couple of additional bearer types, though:

* The 'dedicated bearers' (in 4G) or 'secondary contexts' (in 2G/3G),
  which are associated to a specific default/primary one, but which
  provide specific QoS settings configured via traffic flow templates.

* The 'initial default EPS bearer', which is a special case of default
  bearer in LTE, which is automatically created and connected when the
  modem is registered in the LTE network.

This commit introduces a new 'MMBearerType' enumeration that will be
associated to each bearer through a 'BearerType' property in the
org.freedesktop.ModemManager1.Bearer interface, showing what kind of
bearer/context this is.

By default, right now, all bearer objects created are 'default'
bearers.
This commit is contained in:
Aleksander Morgado
2018-11-11 14:46:53 +01:00
committed by Dan Williams
parent 46d627ff83
commit dc154cf005
11 changed files with 80 additions and 17 deletions

View File

@@ -970,6 +970,28 @@ typedef enum { /*< underscore_name=mm_modem_contacts_storage >*/
MM_MODEM_CONTACTS_STORAGE_MT = 3,
} MMModemContactsStorage;
/**
* MMBearerType:
* @MM_BEARER_TYPE_UNKNOWN: Unknown bearer.
* @MM_BEARER_TYPE_DEFAULT: Primary context (2G/3G) or default bearer (4G),
* defined by the user of the API.
* @MM_BEARER_TYPE_DEFAULT_ATTACH: The initial default bearer established
* during LTE attach procedure, automatically connected as long as the device is
* regitered in the LTE network.
* @MM_BEARER_TYPE_DEDICATED: Secondary context (2G/3G) or dedicated bearer
* (4G), defined by the user of the API. These bearers use the same IP address
* used by a primary context or default bearer and provide a dedicated flow for
* specific traffic with different QoS settings.
*
* Type of context (2G/3G) or bearer (4G).
*/
typedef enum { /*< underscore_name=mm_bearer_type >*/
MM_BEARER_TYPE_UNKNOWN = 0,
MM_BEARER_TYPE_DEFAULT = 1,
MM_BEARER_TYPE_DEFAULT_ATTACH = 2,
MM_BEARER_TYPE_DEDICATED = 3,
} MMBearerType;
/**
* MMBearerIpMethod:
* @MM_BEARER_IP_METHOD_UNKNOWN: Unknown method.