aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-modem.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmm-glib/mm-modem.c')
-rw-r--r--libmm-glib/mm-modem.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/libmm-glib/mm-modem.c b/libmm-glib/mm-modem.c
index 59533cc6..cdba3929 100644
--- a/libmm-glib/mm-modem.c
+++ b/libmm-glib/mm-modem.c
@@ -1101,16 +1101,23 @@ create_bearer_build_properties (const gchar *first_property_name,
const gchar *key;
GVariantBuilder builder;
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{ss}"));
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
key = first_property_name;
while (key) {
- const gchar *value;
-
- /* If a key with NULL value is given, just ignore it. */
- value = va_arg (var_args, gchar *);
- if (value)
- g_variant_builder_add (&builder, "{ss}", key, value);
+ if (g_str_equal (key, MM_BEARER_PROPERTY_ALLOW_ROAMING)) {
+ gboolean value;
+
+ value = va_arg (var_args, gboolean);
+ g_variant_builder_add (&builder, "{sv}", key, g_variant_new_boolean (value));
+ } else {
+ const gchar *value;
+
+ /* If a key with NULL value is given, just ignore it. */
+ value = va_arg (var_args, gchar *);
+ if (value)
+ g_variant_builder_add (&builder, "{sv}", key, g_variant_new_string (value));
+ }
key = va_arg (var_args, gchar *);
}