diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mm-modem-huawei-gsm.c | 58 | ||||
-rw-r--r-- | plugins/mm-modem-mbm.c | 39 | ||||
-rw-r--r-- | plugins/mm-modem-option.c | 22 |
3 files changed, 61 insertions, 58 deletions
diff --git a/plugins/mm-modem-huawei-gsm.c b/plugins/mm-modem-huawei-gsm.c index 4594872b..12c4d894 100644 --- a/plugins/mm-modem-huawei-gsm.c +++ b/plugins/mm-modem-huawei-gsm.c @@ -68,24 +68,24 @@ parse_syscfg (MMModemHuaweiGsm *self, guint32 *band, int *unknown1, int *unknown2, - MMModemGsmMode *out_mode) + MMModemGsmAllowedMode *out_mode) { if (reply == NULL || strncmp (reply, "^SYSCFG:", 8)) return FALSE; if (sscanf (reply + 8, "%d,%d,%x,%d,%d", mode_a, mode_b, band, unknown1, unknown2)) { MMModemHuaweiGsmPrivate *priv = MM_MODEM_HUAWEI_GSM_GET_PRIVATE (self); - MMModemGsmMode new_mode = MM_MODEM_GSM_MODE_ANY; + MMModemGsmAllowedMode new_mode = MM_MODEM_GSM_ALLOWED_MODE_ANY; /* Network mode */ if (*mode_a == 2 && *mode_b == 1) - new_mode = MM_MODEM_GSM_MODE_2G_PREFERRED; + new_mode = MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED; else if (*mode_a == 2 && *mode_b == 2) - new_mode = MM_MODEM_GSM_MODE_3G_PREFERRED; + new_mode = MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED; else if (*mode_a == 13 && *mode_b == 1) - new_mode = MM_MODEM_GSM_MODE_2G_ONLY; + new_mode = MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY; else if (*mode_a == 14 && *mode_b == 2) - new_mode = MM_MODEM_GSM_MODE_3G_ONLY; + new_mode = MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY; if (out_mode) *out_mode = new_mode; @@ -134,26 +134,28 @@ set_allowed_mode_get_done (MMSerialPort *port, guint32 band; if (parse_syscfg (MM_MODEM_HUAWEI_GSM (info->modem), response->str, &a, &b, &band, &u1, &u2, NULL)) { + MMModemGsmAllowedMode mode; char *command; - switch (GPOINTER_TO_UINT (mm_callback_info_get_data (info, "mode"))) { - case MM_MODEM_GSM_MODE_ANY: + mode = GPOINTER_TO_UINT (mm_callback_info_get_data (info, "mode")); + switch (mode) { + case MM_MODEM_GSM_ALLOWED_MODE_ANY: a = 2; b = 0; break; - case MM_MODEM_GSM_MODE_2G_ONLY: + case MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY: a = 13; b = 1; break; - case MM_MODEM_GSM_MODE_3G_ONLY: + case MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY: a = 14; b = 2; break; - case MM_MODEM_GSM_MODE_2G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED: a = 2; b = 1; break; - case MM_MODEM_GSM_MODE_3G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED: a = 2; b = 2; break; @@ -170,7 +172,7 @@ set_allowed_mode_get_done (MMSerialPort *port, static void set_allowed_mode (MMGenericGsm *gsm, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data) { @@ -179,28 +181,14 @@ set_allowed_mode (MMGenericGsm *gsm, info = mm_callback_info_new (MM_MODEM (gsm), callback, user_data); - switch (mode) { - case MM_MODEM_GSM_MODE_ANY: - case MM_MODEM_GSM_MODE_2G_PREFERRED: - case MM_MODEM_GSM_MODE_3G_PREFERRED: - case MM_MODEM_GSM_MODE_2G_ONLY: - case MM_MODEM_GSM_MODE_3G_ONLY: - /* Allowed values */ - mm_callback_info_set_data (info, "mode", GUINT_TO_POINTER (mode), NULL); - primary = mm_generic_gsm_get_port (MM_GENERIC_GSM (gsm), MM_PORT_TYPE_PRIMARY); - g_assert (primary); - - /* Get current configuration first so we don't change band and other - * stuff when updating the mode. - */ - mm_serial_port_queue_command (primary, "AT^SYSCFG?", 3, set_allowed_mode_get_done, info); - return; - default: - info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_GENERAL, "Unsupported allowed mode."); - break; - } + mm_callback_info_set_data (info, "mode", GUINT_TO_POINTER (mode), NULL); + primary = mm_generic_gsm_get_port (MM_GENERIC_GSM (gsm), MM_PORT_TYPE_PRIMARY); + g_assert (primary); - mm_callback_info_schedule (info); + /* Get current configuration first so we don't change band and other + * stuff when updating the mode. + */ + mm_serial_port_queue_command (primary, "AT^SYSCFG?", 3, set_allowed_mode_get_done, info); } static void @@ -213,7 +201,7 @@ get_allowed_mode_done (MMSerialPort *port, MMModemHuaweiGsm *self = MM_MODEM_HUAWEI_GSM (info->modem); int mode_a, mode_b, u1, u2; guint32 band; - MMModemGsmMode mode = MM_MODEM_GSM_MODE_ANY; + MMModemGsmAllowedMode mode = MM_MODEM_GSM_ALLOWED_MODE_ANY; if (error) info->error = g_error_copy (error); diff --git a/plugins/mm-modem-mbm.c b/plugins/mm-modem-mbm.c index 72bd48a7..ccf20d85 100644 --- a/plugins/mm-modem-mbm.c +++ b/plugins/mm-modem-mbm.c @@ -165,16 +165,16 @@ do_register (MMModemGsmNetwork *modem, } static int -mbm_parse_network_mode (MMModemGsmMode network_mode) +mbm_parse_allowed_mode (MMModemGsmAllowedMode network_mode) { switch (network_mode) { - case MM_MODEM_GSM_MODE_ANY: - case MM_MODEM_GSM_MODE_3G_PREFERRED: - case MM_MODEM_GSM_MODE_2G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_ANY: + case MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED: return MBM_NETWORK_MODE_ANY; - case MM_MODEM_GSM_MODE_2G_ONLY: + case MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY: return MBM_NETWORK_MODE_2G; - case MM_MODEM_GSM_MODE_3G_ONLY: + case MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY: return MBM_NETWORK_MODE_3G; default: return MBM_NETWORK_MODE_ANY; @@ -197,7 +197,7 @@ mbm_set_allowed_mode_done (MMSerialPort *port, static void set_allowed_mode (MMGenericGsm *gsm, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data) { @@ -209,7 +209,7 @@ set_allowed_mode (MMGenericGsm *gsm, primary = mm_generic_gsm_get_port (gsm, MM_PORT_TYPE_PRIMARY); g_assert (primary); - command = g_strdup_printf ("+CFUN=%d", mbm_parse_network_mode (mode)); + command = g_strdup_printf ("+CFUN=%d", mbm_parse_allowed_mode (mode)); mm_serial_port_queue_command (primary, command, 3, mbm_set_allowed_mode_done, info); g_free (command); } @@ -278,14 +278,14 @@ get_allowed_mode_done (MMSerialPort *port, if (error) info->error = g_error_copy (error); else if (!g_str_has_prefix (response->str, "CFUN: ")) { - MMModemGsmMode mode = MM_MODEM_GSM_MODE_ANY; + MMModemGsmAllowedMode mode = MM_MODEM_GSM_ALLOWED_MODE_ANY; int a; a = atoi (response->str + 6); if (a == MBM_NETWORK_MODE_2G) - mode = MM_MODEM_GSM_MODE_2G_ONLY; + mode = MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY; else if (a == MBM_NETWORK_MODE_3G) - mode = MM_MODEM_GSM_MODE_3G_ONLY; + mode = MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY; mm_callback_info_set_result (info, GUINT_TO_POINTER (mode), NULL); parsed = TRUE; @@ -331,7 +331,22 @@ simple_connect (MMModemSimple *simple, priv->password = mbm_simple_get_string_property (properties, "password", &info->error); network_mode = mbm_simple_get_uint_property (properties, "network_mode", &info->error); - priv->network_mode = mbm_parse_network_mode (network_mode); + switch (network_mode) { + case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_ANY: + case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_3G_PREFERRED: + case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_2G_PREFERRED: + priv->network_mode = MBM_NETWORK_MODE_ANY; + break; + case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_2G_ONLY: + priv->network_mode = MBM_NETWORK_MODE_2G; + break; + case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_3G_ONLY: + priv->network_mode = MBM_NETWORK_MODE_3G; + break; + default: + priv->network_mode = MBM_NETWORK_MODE_ANY; + break; + } parent_iface = g_type_interface_peek_parent (MM_MODEM_SIMPLE_GET_INTERFACE (simple)); parent_iface->connect (MM_MODEM_SIMPLE (simple), properties, callback, info); diff --git a/plugins/mm-modem-option.c b/plugins/mm-modem-option.c index ddd947da..a7faf4d3 100644 --- a/plugins/mm-modem-option.c +++ b/plugins/mm-modem-option.c @@ -101,20 +101,20 @@ get_allowed_mode_done (MMSerialPort *port, int a, b; if (sscanf (response->str + 8, "%d,%d", &a, &b)) { - MMModemGsmMode mode = MM_MODEM_GSM_MODE_ANY; + MMModemGsmAllowedMode mode = MM_MODEM_GSM_ALLOWED_MODE_ANY; switch (a) { case 0: - mode = MM_MODEM_GSM_MODE_2G_ONLY; + mode = MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY; break; case 1: - mode = MM_MODEM_GSM_MODE_3G_ONLY; + mode = MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY; break; case 2: - mode = MM_MODEM_GSM_MODE_2G_PREFERRED; + mode = MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED; break; case 3: - mode = MM_MODEM_GSM_MODE_3G_PREFERRED; + mode = MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED; break; default: break; @@ -162,7 +162,7 @@ set_allowed_mode_done (MMSerialPort *port, static void set_allowed_mode (MMGenericGsm *gsm, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data) { @@ -174,19 +174,19 @@ set_allowed_mode (MMGenericGsm *gsm, info = mm_callback_info_new (MM_MODEM (gsm), callback, user_data); switch (mode) { - case MM_MODEM_GSM_MODE_2G_ONLY: + case MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY: i = 0; break; - case MM_MODEM_GSM_MODE_3G_ONLY: + case MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY: i = 1; break; - case MM_MODEM_GSM_MODE_2G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED: i = 2; break; - case MM_MODEM_GSM_MODE_3G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED: i = 3; break; - case MM_MODEM_GSM_MODE_ANY: + case MM_MODEM_GSM_ALLOWED_MODE_ANY: default: i = 5; break; |