diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-11-02 09:48:56 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-11-02 09:48:56 +0100 |
commit | 96305bb5c1d32e5a0e517750501b705502e74111 (patch) | |
tree | 85efd6b5a8970b9cf7ffc709f4d0dfe064eed755 | |
parent | 55c05121adf23e9fc9669540cedc63e84005e2cd (diff) |
iridium: report only 'CS' mode supported
Iridium modems only support circuit-switched connections, so just report that
one as supported.
-rw-r--r-- | plugins/iridium/mm-broadband-modem-iridium.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/plugins/iridium/mm-broadband-modem-iridium.c b/plugins/iridium/mm-broadband-modem-iridium.c index 06515e34..23e32f0d 100644 --- a/plugins/iridium/mm-broadband-modem-iridium.c +++ b/plugins/iridium/mm-broadband-modem-iridium.c @@ -309,6 +309,33 @@ setup_flow_control (MMIfaceModem *self, } /*****************************************************************************/ +/* Load supported modes (Modem inteface) */ + +static MMModemMode +load_supported_modes_finish (MMIfaceModem *self, + GAsyncResult *res, + GError **error) +{ + /* Report CS only, Iridium connections are circuit-switched */ + return MM_MODEM_MODE_CS; +} + +static void +load_supported_modes (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GSimpleAsyncResult *result; + + result = g_simple_async_result_new (G_OBJECT (self), + callback, + user_data, + load_supported_modes); + g_simple_async_result_complete_in_idle (result); + g_object_unref (result); +} + +/*****************************************************************************/ /* Create SIM (Modem inteface) */ static MMSim * @@ -446,6 +473,10 @@ iface_modem_init (MMIfaceModem *iface) iface->modem_power_down_finish = NULL; iface->modem_init_power_down = NULL; iface->modem_init_power_down_finish = NULL; + + /* Supported modes cannot be queried */ + iface->load_supported_modes = load_supported_modes; + iface->load_supported_modes_finish = load_supported_modes_finish; } static void |