aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--introspection/mm-modem-gsm-network.xml16
-rw-r--r--introspection/mm-modem-gsm.xml29
-rw-r--r--plugins/mm-modem-huawei-gsm.c58
-rw-r--r--plugins/mm-modem-mbm.c39
-rw-r--r--plugins/mm-modem-option.c22
-rw-r--r--src/mm-generic-gsm.c42
-rw-r--r--src/mm-generic-gsm.h4
-rw-r--r--src/mm-modem-gsm-network.c46
-rw-r--r--src/mm-modem-gsm-network.h17
-rw-r--r--src/mm-modem-gsm.h10
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,