aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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
5 files changed, 58 insertions, 61 deletions
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,