aboutsummaryrefslogtreecommitdiff
path: root/src/mm-bearer-mbim.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-02-17 15:49:01 +0100
committerAleksander Morgado <aleksander@aleksander.es>2021-03-10 10:59:19 +0100
commit064e92e9b77b35f83cb522c6ea98b9016ce5db8c (patch)
treea890a28fc2577fcbe6aaeb91b34329286af94956 /src/mm-bearer-mbim.c
parent71bad1d86263a07d78274b939ed0f7dfeed4201d (diff)
api,simple: new 'multiplex' setting in bearer properties
Both the Simple.Connect() and Modem.CreateBearer() are updated to allow a new 'multiplex' setting in the properties provided by the user in both of these methods. The new setting expects a MMBearerMultiplexSupport enum indicating what kind of multiplex needs the user has: * none: if multiplex must not be used. * requested: if multiplex should be used if available. * required: if multiplex must be used. The underlying implementations will take care of accepting or rejecting the setting depending on the system and modem capabilities.
Diffstat (limited to 'src/mm-bearer-mbim.c')
-rw-r--r--src/mm-bearer-mbim.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mm-bearer-mbim.c b/src/mm-bearer-mbim.c
index b808f547..c5ca427d 100644
--- a/src/mm-bearer-mbim.c
+++ b/src/mm-bearer-mbim.c
@@ -1125,6 +1125,14 @@ _connect (MMBaseBearer *self,
if (!peek_ports (self, &device, &data, callback, user_data))
return;
+ if (mm_bearer_properties_get_multiplex (mm_base_bearer_peek_config (self)) == MM_BEARER_MULTIPLEX_SUPPORT_REQUIRED) {
+ g_task_report_new_error (
+ self, callback, user_data, _connect,
+ MM_CORE_ERROR, MM_CORE_ERROR_UNSUPPORTED,
+ "Multiplex support not available");
+ return;
+ }
+
g_object_get (self,
MM_BASE_BEARER_MODEM, &modem,
NULL);