diff options
-rw-r--r-- | introspection/mm-modem-gsm-network.xml | 16 | ||||
-rw-r--r-- | introspection/mm-modem-gsm.xml | 29 | ||||
-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 | ||||
-rw-r--r-- | src/mm-generic-gsm.c | 42 | ||||
-rw-r--r-- | src/mm-generic-gsm.h | 4 | ||||
-rw-r--r-- | src/mm-modem-gsm-network.c | 46 | ||||
-rw-r--r-- | src/mm-modem-gsm-network.h | 17 | ||||
-rw-r--r-- | src/mm-modem-gsm.h | 10 |
10 files changed, 153 insertions, 130 deletions
diff --git a/introspection/mm-modem-gsm-network.xml b/introspection/mm-modem-gsm-network.xml index 82eb177d..12fca5d9 100644 --- a/introspection/mm-modem-gsm-network.xml +++ b/introspection/mm-modem-gsm-network.xml @@ -128,26 +128,24 @@ <method name="SetAllowedMode"> <tp:docstring> - Set the allowed access technologies to use when connecting to a mobile - network. + Set the access technologies a device is allowed to use when connecting + to a mobile network. </tp:docstring> <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_set_allowed_mode"/> - <arg name="mode" type="u" direction="in" tp:type="MM_MODEM_GSM_MODE"> + <arg name="mode" type="u" direction="in" tp:type="MM_MODEM_GSM_ALLOWED_MODE"> <tp:docstring> - The allowed access technologies. Only one mode flag may be specified, - and it may not be UNKNOWN. The device may not support all modes; see + The allowed mode. The device may not support all modes; see the org.freedesktop.ModemManager.Gsm.Card.SupportedModes property for allowed modes for each device. All devices support the "ANY" flag. </tp:docstring> </arg> </method> - <property name="AllowedMode" type="u" access="read" tp:type="MM_MODEM_GSM_MODE"> + <property name="AllowedMode" type="u" access="read" tp:type="MM_MODEM_GSM_ALLOWED_MODE"> <tp:docstring> - The allowed access technologies (eg 2G/3G preference or a specific access - technology) to use when connecting to a mobile network. (Note for plugin - writers: this value may be ANY) + The allowed access technologies (eg 2G/3G preference) the device is allowed + to use when connecting to a mobile network. </tp:docstring> </property> diff --git a/introspection/mm-modem-gsm.xml b/introspection/mm-modem-gsm.xml index f5def8ac..15e378a6 100644 --- a/introspection/mm-modem-gsm.xml +++ b/introspection/mm-modem-gsm.xml @@ -5,8 +5,8 @@ <tp:flags name="MM_MODEM_GSM_MODE" value-prefix="MM_MODEM_GSM_MODE" type="u"> <tp:docstring> A bitfield describing the specifc access modes and technologies - supported by a device, the device's current access mode preference, and - the access technology in-use when connected to a mobile network. + supported by a device and the access technology in-use when connected to + a mobile network. </tp:docstring> <tp:flag suffix="UNKNOWN" value="0x0"> <tp:docstring>Unknown or invalid mode.</tp:docstring> @@ -98,5 +98,30 @@ <tp:docstring>WCDMA 3GPP UMTS 1700 MHz (Class IX)</tp:docstring> </tp:flag> </tp:flags> + + <tp:enum name="MM_MODEM_GSM_ALLOWED_MODE" type="u"> + <tp:docstring> + Describes the device's current access mode preference; ie the specific + technology preferences the device is allowed to use when connecting to + a mobile network. + </tp:docstring> + <tp:enumvalue suffix="ANY" value="0"> + <tp:docstring>Any mode can be used</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="2G_PREFERRED" value="1"> + <tp:docstring>Prefer 2G (GPRS or EDGE)</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="3G_PREFERRED" value="2"> + <tp:docstring>Prefer 3G (UMTS or HSxPA)</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="2G_ONLY" value="3"> + <tp:docstring>Use only 2G (GPRS or EDGE)</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="3G_ONLY" value="4"> + <tp:docstring>Use only 3G (UMTS or HSxPA)</tp:docstring> + </tp:enumvalue> + </tp:enum> + </interface> </node> + 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; diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index 917a7621..4b1b65bf 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -56,7 +56,7 @@ typedef struct { guint32 pin_check_tries; guint pin_check_timeout; - guint32 allowed_mode; + MMModemGsmAllowedMode allowed_mode; char *oper_code; char *oper_name; @@ -646,13 +646,13 @@ creg2_done (MMSerialPort *port, static void get_allowed_mode_done (MMModem *modem, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, GError *error, gpointer user_data) { if (modem) { mm_generic_gsm_update_allowed_mode (MM_GENERIC_GSM (modem), - error ? MM_MODEM_GSM_MODE_UNKNOWN : mode); + error ? MM_MODEM_GSM_ALLOWED_MODE_ANY : mode); } } @@ -2269,7 +2269,7 @@ mm_generic_gsm_update_access_technology (MMGenericGsm *modem, void mm_generic_gsm_update_allowed_mode (MMGenericGsm *self, - MMModemGsmMode mode) + MMModemGsmAllowedMode mode) { MMGenericGsmPrivate *priv; @@ -2291,7 +2291,7 @@ set_allowed_mode_done (MMModem *modem, GError *error, gpointer user_data) info->error = mm_modem_check_removed (info->modem, error); if (!info->error) { - MMModemGsmMode mode = GPOINTER_TO_UINT (mm_callback_info_get_data (info, "mode")); + MMModemGsmAllowedMode mode = GPOINTER_TO_UINT (mm_callback_info_get_data (info, "mode")); mm_generic_gsm_update_allowed_mode (MM_GENERIC_GSM (info->modem), mode); } @@ -2301,7 +2301,7 @@ set_allowed_mode_done (MMModem *modem, GError *error, gpointer user_data) static void set_allowed_mode (MMModemGsmNetwork *net, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data) { @@ -2310,17 +2310,27 @@ set_allowed_mode (MMModemGsmNetwork *net, info = mm_callback_info_new (MM_MODEM (self), callback, user_data); - if (mode == MM_MODEM_GSM_MODE_UNKNOWN) { + switch (mode) { + case MM_MODEM_GSM_ALLOWED_MODE_ANY: + case MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED: + case MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY: + case MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY: + if (!MM_GENERIC_GSM_GET_CLASS (self)->set_allowed_mode) { + info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_OPERATION_NOT_SUPPORTED, + "Operation not supported"); + } else { + mm_callback_info_set_data (info, "mode", GUINT_TO_POINTER (mode), NULL); + MM_GENERIC_GSM_GET_CLASS (self)->set_allowed_mode (self, mode, set_allowed_mode_done, info); + } + break; + default: info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_GENERAL, "Invalid mode."); - mm_callback_info_schedule (info); - } else if (!MM_GENERIC_GSM_GET_CLASS (self)->set_allowed_mode) { - info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_OPERATION_NOT_SUPPORTED, - "Operation not supported"); - mm_callback_info_schedule (info); - } else { - mm_callback_info_set_data (info, "mode", GUINT_TO_POINTER (mode), NULL); - MM_GENERIC_GSM_GET_CLASS (self)->set_allowed_mode (self, mode, set_allowed_mode_done, info); + break; } + + if (info->error) + mm_callback_info_schedule (info); } /*****************************************************************************/ @@ -2631,7 +2641,7 @@ simple_get_status (MMModemSimple *simple, if (priv->access_tech > -1) { /* Deprecated key */ - old_mode = mm_modem_gsm_network_new_mode_to_old (priv->access_tech); + old_mode = mm_modem_gsm_network_act_to_old_mode (priv->access_tech); g_hash_table_insert (properties, "network_mode", simple_uint_value (old_mode)); /* New key */ diff --git a/src/mm-generic-gsm.h b/src/mm-generic-gsm.h index 9b4c4848..6fa86a59 100644 --- a/src/mm-generic-gsm.h +++ b/src/mm-generic-gsm.h @@ -81,7 +81,7 @@ typedef struct { /* Called by the generic class to set the allowed operating mode of the device */ void (*set_allowed_mode) (MMGenericGsm *self, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data); @@ -124,7 +124,7 @@ void mm_generic_gsm_set_reg_status (MMGenericGsm *modem, * allowed to choose from when connecting. */ void mm_generic_gsm_update_allowed_mode (MMGenericGsm *modem, - MMModemGsmMode mode); + MMModemGsmAllowedMode mode); /* Called to asynchronously update the current access technology of the device; * this is NOT the 2G/3G mode preference, but the current radio access diff --git a/src/mm-modem-gsm-network.c b/src/mm-modem-gsm-network.c index aae55574..72571c22 100644 --- a/src/mm-modem-gsm-network.c +++ b/src/mm-modem-gsm-network.c @@ -44,7 +44,7 @@ static void impl_gsm_modem_get_band (MMModemGsmNetwork *modem, DBusGMethodInvocation *context); static void impl_gsm_modem_set_allowed_mode (MMModemGsmNetwork *modem, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, DBusGMethodInvocation *context); static void impl_gsm_modem_set_network_mode (MMModemGsmNetwork *modem, @@ -73,41 +73,27 @@ static guint signals[LAST_SIGNAL] = { 0 }; /*****************************************************************************/ -MMModemGsmMode -mm_modem_gsm_network_old_mode_to_new (MMModemDeprecatedMode old_mode) +MMModemGsmAllowedMode +mm_modem_gsm_network_old_mode_to_allowed (MMModemDeprecatedMode old_mode) { /* Translate deprecated mode into new mode */ switch (old_mode) { - case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_GPRS: - return MM_MODEM_GSM_MODE_GPRS; - case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_EDGE: - return MM_MODEM_GSM_MODE_EDGE; - case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_UMTS: - return MM_MODEM_GSM_MODE_UMTS; - case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_HSDPA: - return MM_MODEM_GSM_MODE_HSDPA; case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_2G_PREFERRED: - return MM_MODEM_GSM_MODE_2G_PREFERRED; + return MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED; case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_3G_PREFERRED: - return MM_MODEM_GSM_MODE_3G_PREFERRED; + return MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED; case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_2G_ONLY: - return MM_MODEM_GSM_MODE_2G_ONLY; + return MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY; case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_3G_ONLY: - return MM_MODEM_GSM_MODE_3G_ONLY; - case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_HSUPA: - return MM_MODEM_GSM_MODE_HSUPA; - case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_HSPA: - return MM_MODEM_GSM_MODE_HSDPA | MM_MODEM_GSM_MODE_HSUPA; + return MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY; case MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_ANY: default: - break; + return MM_MODEM_GSM_ALLOWED_MODE_ANY; } - - return MM_MODEM_GSM_MODE_ANY; } MMModemDeprecatedMode -mm_modem_gsm_network_new_mode_to_old (MMModemGsmMode new_mode) +mm_modem_gsm_network_act_to_old_mode (MMModemGsmMode new_mode) { /* Translate new mode into old deprecated mode */ if (new_mode & MM_MODEM_GSM_MODE_GPRS) @@ -372,7 +358,7 @@ mm_modem_gsm_network_get_band (MMModemGsmNetwork *self, void mm_modem_gsm_network_set_allowed_mode (MMModemGsmNetwork *self, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data) { @@ -550,14 +536,14 @@ impl_gsm_modem_set_network_mode (MMModemGsmNetwork *modem, } mm_modem_gsm_network_set_allowed_mode (modem, - mm_modem_gsm_network_old_mode_to_new (old_mode), + mm_modem_gsm_network_old_mode_to_allowed (old_mode), async_call_done, context); } static void impl_gsm_modem_set_allowed_mode (MMModemGsmNetwork *modem, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, DBusGMethodInvocation *context) { if (!check_for_single_value (mode)) { @@ -581,9 +567,9 @@ impl_gsm_modem_get_network_mode (MMModemGsmNetwork *modem, /* DEPRECATED; it's now a property so it's quite easy to handle */ g_object_get (G_OBJECT (modem), - MM_MODEM_GSM_NETWORK_ALLOWED_MODE, &mode, + MM_MODEM_GSM_NETWORK_ACCESS_TECHNOLOGY, &mode, NULL); - dbus_g_method_return (context, mm_modem_gsm_network_new_mode_to_old (mode)); + dbus_g_method_return (context, mm_modem_gsm_network_act_to_old_mode (mode)); } static void @@ -610,8 +596,8 @@ mm_modem_gsm_network_init (gpointer g_iface) g_param_spec_uint (MM_MODEM_GSM_NETWORK_ALLOWED_MODE, "Allowed Mode", "Allowed network access mode", - MM_MODEM_GSM_MODE_UNKNOWN, - G_MAXUINT32, + MM_MODEM_GSM_ALLOWED_MODE_ANY, + MM_MODEM_GSM_ALLOWED_MODE_LAST, MM_MODEM_GSM_MODE_UNKNOWN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); diff --git a/src/mm-modem-gsm-network.h b/src/mm-modem-gsm-network.h index bfd754ed..757d098b 100644 --- a/src/mm-modem-gsm-network.h +++ b/src/mm-modem-gsm-network.h @@ -93,7 +93,7 @@ struct _MMModemGsmNetwork { gpointer user_data); void (*set_allowed_mode) (MMModemGsmNetwork *self, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data); @@ -140,15 +140,6 @@ void mm_modem_gsm_network_get_band (MMModemGsmNetwork *self, MMModemUIntFn callback, gpointer user_data); -void mm_modem_gsm_network_set_mode (MMModemGsmNetwork *self, - MMModemGsmMode mode, - MMModemFn callback, - gpointer user_data); - -void mm_modem_gsm_network_get_mode (MMModemGsmNetwork *self, - MMModemUIntFn callback, - gpointer user_data); - void mm_modem_gsm_network_get_registration_info (MMModemGsmNetwork *self, MMModemGsmNetworkRegInfoFn callback, gpointer user_data); @@ -159,7 +150,7 @@ void mm_modem_gsm_network_signal_quality (MMModemGsmNetwork *self, guint32 quality); void mm_modem_gsm_network_set_allowed_mode (MMModemGsmNetwork *self, - MMModemGsmMode mode, + MMModemGsmAllowedMode mode, MMModemFn callback, gpointer user_data); @@ -169,8 +160,8 @@ void mm_modem_gsm_network_registration_info (MMModemGsmNetwork *self, const char *oper_name); /* Private */ -MMModemDeprecatedMode mm_modem_gsm_network_new_mode_to_old (MMModemGsmMode new_mode); +MMModemDeprecatedMode mm_modem_gsm_network_act_to_old_mode (MMModemGsmMode new_mode); -MMModemGsmMode mm_modem_gsm_network_old_mode_to_new (MMModemDeprecatedMode old_mode); +MMModemGsmAllowedMode mm_modem_gsm_network_old_mode_to_allowed (MMModemDeprecatedMode old_mode); #endif /* MM_MODEM_GSM_NETWORK_H */ diff --git a/src/mm-modem-gsm.h b/src/mm-modem-gsm.h index e64f6804..d10982b7 100644 --- a/src/mm-modem-gsm.h +++ b/src/mm-modem-gsm.h @@ -35,6 +35,16 @@ typedef enum { } MMModemGsmMode; typedef enum { + MM_MODEM_GSM_ALLOWED_MODE_ANY = 0, + MM_MODEM_GSM_ALLOWED_MODE_2G_PREFERRED = 1, + MM_MODEM_GSM_ALLOWED_MODE_3G_PREFERRED = 2, + MM_MODEM_GSM_ALLOWED_MODE_2G_ONLY = 3, + MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY = 4, + + MM_MODEM_GSM_ALLOWED_MODE_LAST = MM_MODEM_GSM_ALLOWED_MODE_3G_ONLY +} MMModemGsmAllowedMode; + +typedef enum { MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_ANY = 0, MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_GPRS, MM_MODEM_GSM_NETWORK_DEPRECATED_MODE_EDGE, |