aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libmm-glib/mm-modem.c21
-rw-r--r--libmm-glib/mm-modem.h11
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,