diff options
-rw-r--r-- | src/mm-base-modem.c | 16 | ||||
-rw-r--r-- | src/mm-base-modem.h | 1 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index 6f209bfc..bef3ee36 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -302,9 +302,6 @@ mm_base_modem_grab_port (MMBaseModem *self, if (!self->priv->data || MM_IS_AT_SERIAL_PORT (self->priv->data)) { g_clear_object (&self->priv->data); self->priv->data = g_object_ref (port); - - /* TODO: */ - /* check_valid (self); */ } mm_dbg ("(%s/%s) port grabbed by %s", @@ -420,6 +417,19 @@ mm_base_modem_get_port_qcdm (MMBaseModem *self) return self->priv->qcdm; } +MMPort * +mm_base_modem_get_best_data_port (MMBaseModem *self) +{ + g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL); + + /* TODO: sometime we'll have a list of available data ports to use instead + * of a single one */ + + return (mm_port_get_connected (self->priv->data) ? + NULL : + self->priv->data); +} + gboolean mm_base_modem_auth_request (MMBaseModem *self, const gchar *authorization, diff --git a/src/mm-base-modem.h b/src/mm-base-modem.h index f37bf6fe..252fe43d 100644 --- a/src/mm-base-modem.h +++ b/src/mm-base-modem.h @@ -107,6 +107,7 @@ gboolean mm_base_modem_owns_port (MMBaseModem *self, MMAtSerialPort *mm_base_modem_get_port_primary (MMBaseModem *self); MMAtSerialPort *mm_base_modem_get_port_secondary (MMBaseModem *self); MMQcdmSerialPort *mm_base_modem_get_port_qcdm (MMBaseModem *self); +MMPort *mm_base_modem_get_best_data_port (MMBaseModem *self); void mm_base_modem_set_valid (MMBaseModem *self, gboolean valid); |