diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2021-03-10 12:05:31 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-03-10 15:18:00 +0100 |
commit | 791c7908e48c4acfc8ebfe36ae66714c89bf028c (patch) | |
tree | b5fa85966cc0a1283c8222af3c0780450c11fa1f /src/mm-port-qmi.c | |
parent | 4f4ce02c434423afbea81679d62cf9ecc09b6599 (diff) |
port-qmi: initialize net port driver information early
The MMPortQmi may need to know very early what kind of net ports are
going to be used later on during connection, e.g. to decide what kind
of multiplexing capabilities are available and such.
So, once we have organized ports in the modem, we'll take the driver
of the first network port in the list of data ports, and pass it down
to all QMI ports setup in the modem object.
Diffstat (limited to 'src/mm-port-qmi.c')
-rw-r--r-- | src/mm-port-qmi.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mm-port-qmi.c b/src/mm-port-qmi.c index 759a9196..0bbcd5ed 100644 --- a/src/mm-port-qmi.c +++ b/src/mm-port-qmi.c @@ -40,6 +40,7 @@ struct _MMPortQmiPrivate { gboolean in_progress; QmiDevice *qmi_device; GList *services; + gchar *net_driver; /* endpoint info */ gulong endpoint_info_signal_id; QmiDataEndpointType endpoint_type; @@ -2279,6 +2280,17 @@ mm_port_qmi_is_open (MMPortQmi *self) /*****************************************************************************/ +void +mm_port_qmi_set_net_driver (MMPortQmi *self, + const gchar *net_driver) +{ + g_assert (MM_IS_PORT_QMI (self)); + g_assert (!self->priv->net_driver); + self->priv->net_driver = g_strdup (net_driver); +} + +/*****************************************************************************/ + typedef struct { QmiDevice *qmi_device; } PortQmiCloseContext; @@ -2440,6 +2452,8 @@ dispose (GObject *object) /* Clear device object */ g_clear_object (&self->priv->qmi_device); + g_clear_pointer (&self->priv->net_driver, g_free); + G_OBJECT_CLASS (mm_port_qmi_parent_class)->dispose (object); } |