aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-base-modem.c16
-rw-r--r--src/mm-base-modem.h1
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);