summaryrefslogtreecommitdiffstats
path: root/src/radio-settings.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-10-20 17:59:21 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-10-20 17:59:21 -0500
commit81bc8884b414e6c2d511789d2e183cdad55182f0 (patch)
tree486ce97db5f28b3d8e0bb6c356d1db4b17ff994c /src/radio-settings.c
parentcbe433c9ee45fb7b6e08ac6a60415a4f1277b022 (diff)
downloadofono-81bc8884b414e6c2d511789d2e183cdad55182f0.tar.bz2
radio-settings: Get rid of unneeded casts
Diffstat (limited to 'src/radio-settings.c')
-rw-r--r--src/radio-settings.c40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/radio-settings.c b/src/radio-settings.c
index 1caaf731..07b0b091 100644
--- a/src/radio-settings.c
+++ b/src/radio-settings.c
@@ -40,8 +40,8 @@ static GSList *g_drivers = NULL;
struct ofono_radio_settings {
DBusMessage *pending;
int flags;
- int mode;
- int pending_mode;
+ enum ofono_radio_access_mode mode;
+ enum ofono_radio_access_mode pending_mode;
const struct ofono_radio_settings_driver *driver;
void *driver_data;
struct ofono_atom *atom;
@@ -63,19 +63,25 @@ static const char *radio_access_mode_to_string(enum ofono_radio_access_mode m)
}
}
-static int string_to_radio_access_mode(const char *mode)
+static gboolean radio_access_mode_from_string(const char *str,
+ enum ofono_radio_access_mode *mode)
{
- if (g_strcmp0(mode, "any") == 0)
- return OFONO_RADIO_ACCESS_MODE_ANY;
- if (g_strcmp0(mode, "gsm") == 0)
- return OFONO_RADIO_ACCESS_MODE_GSM;
- if (g_strcmp0(mode, "umts") == 0)
- return OFONO_RADIO_ACCESS_MODE_UMTS;
- if (g_strcmp0(mode, "lte") == 0)
- return OFONO_RADIO_ACCESS_MODE_LTE;
-
- return -1;
+ if (g_str_equal(mode, "any")) {
+ *mode = OFONO_RADIO_ACCESS_MODE_ANY;
+ return TRUE;
+ } else if (g_str_equal(mode, "gsm")) {
+ *mode = OFONO_RADIO_ACCESS_MODE_GSM;
+ return TRUE;
+ } else if (g_str_equal(mode, "umts")) {
+ *mode = OFONO_RADIO_ACCESS_MODE_UMTS;
+ return TRUE;
+ } else if (g_str_equal(mode, "lte")) {
+ *mode = OFONO_RADIO_ACCESS_MODE_LTE;
+ return TRUE;
+ }
+
+ return FALSE;
}
static DBusMessage *radio_get_properties_reply(DBusMessage *msg,
@@ -112,7 +118,7 @@ static void radio_set_rat_mode(struct ofono_radio_settings *rs,
const char *path;
const char *str_mode;
- if (rs->mode == (int)mode)
+ if (rs->mode == mode)
return;
rs->mode = mode;
@@ -213,7 +219,7 @@ static DBusMessage *radio_set_property(DBusConnection *conn, DBusMessage *msg,
if (g_strcmp0(property, "TechnologyPreference") == 0) {
const char *value;
- int mode = -1;
+ enum ofono_radio_access_mode mode;
if (!rs->driver->set_rat_mode)
return __ofono_error_not_implemented(msg);
@@ -222,9 +228,7 @@ static DBusMessage *radio_set_property(DBusConnection *conn, DBusMessage *msg,
return __ofono_error_invalid_args(msg);
dbus_message_iter_get_basic(&var, &value);
- mode = string_to_radio_access_mode(value);
-
- if (mode == -1)
+ if (radio_access_mode_from_string(value, &mode) == FALSE)
return __ofono_error_invalid_args(msg);
if (rs->mode == mode)