summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2021-06-01 11:20:37 -0500
committerDenis Kenzior <denkenz@gmail.com>2021-06-01 11:20:37 -0500
commit1d86dbc6c847620bbd1a5f2e4787d743a561e4c1 (patch)
tree98db81bf97bf6678f7496284d1bd509057efe45e /src
parentf10b870c25d40362dd98b22f422fbbdde3ad8059 (diff)
downloadofono-1d86dbc6c847620bbd1a5f2e4787d743a561e4c1.tar.gz
radio-settings: Do not use enum ofono_access_mode
Originally the enum was only meant to signify a single radio access mode preference, but over time its meaning was overloaded to be a bitfield with multiple preferences. Switch away from using an enum value to using an unsigned int to make it clearer that the value is a bitfield.
Diffstat (limited to 'src')
-rw-r--r--src/radio-settings.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/radio-settings.c b/src/radio-settings.c
index 02bb90cd..a80e4c18 100644
--- a/src/radio-settings.c
+++ b/src/radio-settings.c
@@ -44,11 +44,11 @@ static GSList *g_drivers = NULL;
struct ofono_radio_settings {
DBusMessage *pending;
int flags;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
enum ofono_radio_band_gsm band_gsm;
enum ofono_radio_band_umts band_umts;
ofono_bool_t fast_dormancy;
- enum ofono_radio_access_mode pending_mode;
+ unsigned int pending_mode;
enum ofono_radio_band_gsm pending_band_gsm;
enum ofono_radio_band_umts pending_band_umts;
ofono_bool_t fast_dormancy_pending;
@@ -60,7 +60,7 @@ struct ofono_radio_settings {
struct ofono_atom *atom;
};
-static const char *radio_access_mode_to_string(enum ofono_radio_access_mode m)
+static const char *radio_access_mode_to_string(unsigned int m)
{
switch (m) {
case OFONO_RADIO_ACCESS_MODE_ANY:
@@ -86,7 +86,7 @@ static const char *radio_access_mode_to_string(enum ofono_radio_access_mode m)
}
static gboolean radio_access_mode_from_string(const char *str,
- enum ofono_radio_access_mode *mode)
+ unsigned int *mode)
{
if (g_str_equal(str, "any")) {
@@ -379,7 +379,7 @@ static void radio_band_set_callback(const struct ofono_error *error,
}
static void radio_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode)
+ unsigned int mode)
{
DBusConnection *conn = ofono_dbus_get_connection();
const char *path;
@@ -528,8 +528,7 @@ static void radio_query_band(struct ofono_radio_settings *rs)
}
static void radio_rat_mode_query_callback(const struct ofono_error *error,
- enum ofono_radio_access_mode mode,
- void *data)
+ int mode, void *data)
{
struct ofono_radio_settings *rs = data;
DBusMessage *reply;
@@ -594,7 +593,7 @@ static DBusMessage *radio_set_property(DBusConnection *conn, DBusMessage *msg,
if (g_strcmp0(property, "TechnologyPreference") == 0) {
const char *value;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
if (rs->driver->set_rat_mode == NULL)
return __ofono_error_not_implemented(msg);