From 29f23f2a492d7743f19aa99c0f9dc1960160698c Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Tue, 13 Mar 2012 18:18:43 +0100 Subject: base-modem: new method to check if the modem got any AT port Required for the single-at logic in the plugins. --- src/mm-base-modem.c | 17 +++++++++++++++++ src/mm-base-modem.h | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index e60284af..fdc7b079 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -506,6 +506,23 @@ mm_base_modem_peek_best_at_port (MMBaseModem *self, 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 initialize_ready (MMBaseModem *self, GAsyncResult *res) diff --git a/src/mm-base-modem.h b/src/mm-base-modem.h index 9404a0ec..51af72c5 100644 --- a/src/mm-base-modem.h +++ b/src/mm-base-modem.h @@ -111,6 +111,8 @@ gboolean mm_base_modem_owns_port (MMBaseModem *self, const gchar *subsys, const gchar *name); +gboolean mm_base_modem_has_at_port (MMBaseModem *self); + gboolean mm_base_modem_organize_ports (MMBaseModem *self, GError **error); @@ -128,7 +130,6 @@ MMAtSerialPort *mm_base_modem_get_best_at_port (MMBaseModem *self, GError **error); MMPort *mm_base_modem_get_best_data_port (MMBaseModem *self); - void mm_base_modem_set_valid (MMBaseModem *self, gboolean valid); gboolean mm_base_modem_get_valid (MMBaseModem *self); -- cgit v1.2.3-70-g09d2