summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/radio-settings.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/radio-settings.c b/src/radio-settings.c
index 7fd92df9..7283aa98 100644
--- a/src/radio-settings.c
+++ b/src/radio-settings.c
@@ -71,9 +71,15 @@ static const char *radio_access_mode_to_string(enum ofono_radio_access_mode m)
return "umts";
case OFONO_RADIO_ACCESS_MODE_LTE:
return "lte";
- default:
- return NULL;
}
+
+ if (m == (OFONO_RADIO_ACCESS_MODE_UMTS|OFONO_RADIO_ACCESS_MODE_GSM))
+ return "umts,gsm";
+
+ if (m == (OFONO_RADIO_ACCESS_MODE_LTE|OFONO_RADIO_ACCESS_MODE_UMTS))
+ return "lte,umts";
+
+ return NULL;
}
static gboolean radio_access_mode_from_string(const char *str,
@@ -92,6 +98,12 @@ static gboolean radio_access_mode_from_string(const char *str,
} else if (g_str_equal(str, "lte")) {
*mode = OFONO_RADIO_ACCESS_MODE_LTE;
return TRUE;
+ } else if (g_str_equal(str, "umts,gsm")) {
+ *mode = OFONO_RADIO_ACCESS_MODE_UMTS|OFONO_RADIO_ACCESS_MODE_GSM;
+ return TRUE;
+ } else if (g_str_equal(str, "lte,umts")) {
+ *mode = OFONO_RADIO_ACCESS_MODE_LTE|OFONO_RADIO_ACCESS_MODE_UMTS;
+ return TRUE;
}
return FALSE;