base-modem: new method to check if the modem got any AT port

Required for the single-at logic in the plugins.
This commit is contained in:
Aleksander Morgado
2012-03-13 18:18:43 +01:00
parent 3eb4220caa
commit 29f23f2a49
2 changed files with 19 additions and 1 deletions

View File

@@ -506,6 +506,23 @@ mm_base_modem_peek_best_at_port (MMBaseModem *self,
return NULL; return NULL;
} }
gboolean
mm_base_modem_has_at_port (MMBaseModem *self)
{
GHashTableIter iter;
gpointer value;
gpointer key;
/* We'll iterate the ht of ports, looking for any port which is AT */
g_hash_table_iter_init (&iter, self->priv->ports);
while (g_hash_table_iter_next (&iter, &key, &value)) {
if (MM_IS_AT_SERIAL_PORT (value))
return TRUE;
}
return FALSE;
}
static void static void
initialize_ready (MMBaseModem *self, initialize_ready (MMBaseModem *self,
GAsyncResult *res) GAsyncResult *res)

View File

@@ -111,6 +111,8 @@ gboolean mm_base_modem_owns_port (MMBaseModem *self,
const gchar *subsys, const gchar *subsys,
const gchar *name); const gchar *name);
gboolean mm_base_modem_has_at_port (MMBaseModem *self);
gboolean mm_base_modem_organize_ports (MMBaseModem *self, gboolean mm_base_modem_organize_ports (MMBaseModem *self,
GError **error); GError **error);
@@ -128,7 +130,6 @@ MMAtSerialPort *mm_base_modem_get_best_at_port (MMBaseModem *self,
GError **error); GError **error);
MMPort *mm_base_modem_get_best_data_port (MMBaseModem *self); MMPort *mm_base_modem_get_best_data_port (MMBaseModem *self);
void mm_base_modem_set_valid (MMBaseModem *self, void mm_base_modem_set_valid (MMBaseModem *self,
gboolean valid); gboolean valid);
gboolean mm_base_modem_get_valid (MMBaseModem *self); gboolean mm_base_modem_get_valid (MMBaseModem *self);