diff options
-rw-r--r-- | libmm-glib/mm-modem.c | 21 | ||||
-rw-r--r-- | libmm-glib/mm-modem.h | 11 |
2 files changed, 20 insertions, 12 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 *); } diff --git a/libmm-glib/mm-modem.h b/libmm-glib/mm-modem.h index 4c500eed..da0c2199 100644 --- a/libmm-glib/mm-modem.h +++ b/libmm-glib/mm-modem.h @@ -106,11 +106,12 @@ GList *mm_modem_list_bearers_sync (MMModem *self, GCancellable *cancellable, GError **error); -#define MM_BEARER_PROPERTY_APN "apn" -#define MM_BEARER_PROPERTY_IP_TYPE "ip-type" -#define MM_BEARER_PROPERTY_USER "user" -#define MM_BEARER_PROPERTY_PASSWORD "password" -#define MM_BEARER_PROPERTY_NUMBER "number" +#define MM_BEARER_PROPERTY_APN "apn" /* string */ +#define MM_BEARER_PROPERTY_IP_TYPE "ip-type" /* string */ +#define MM_BEARER_PROPERTY_ALLOW_ROAMING "allow-roaming" /* boolean */ +#define MM_BEARER_PROPERTY_USER "user" /* string */ +#define MM_BEARER_PROPERTY_PASSWORD "password" /* string */ +#define MM_BEARER_PROPERTY_NUMBER "number" /* string */ void mm_modem_create_bearer (MMModem *self, GCancellable *cancellable, |