diff options
Diffstat (limited to 'src')
-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 |
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, |