diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-13 18:18:43 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-13 18:18:43 +0100 |
commit | 810d0d4ac636daafb8b792ffe23a8bdd8a2046b2 (patch) | |
tree | dbc265a1b56e99a38b647fdacdcfbf7e0995e130 | |
parent | 5248e8b776287610412dc5ba8dc3aaf88e1d818c (diff) | |
download | ModemManager-810d0d4ac636daafb8b792ffe23a8bdd8a2046b2.tar.gz |
base-modem: new method to check if the modem got any AT port
Required for the single-at logic in the plugins.
-rw-r--r-- | src/mm-base-modem.c | 17 | ||||
-rw-r--r-- | src/mm-base-modem.h | 3 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index e60284af2..fdc7b079c 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 9404a0ece..51af72c5d 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); |