summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-11-02 09:48:56 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-11-02 09:48:56 +0100
commit96305bb5c1d32e5a0e517750501b705502e74111 (patch)
tree85efd6b5a8970b9cf7ffc709f4d0dfe064eed755
parent55c05121adf23e9fc9669540cedc63e84005e2cd (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.c31
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