aboutsummaryrefslogtreecommitdiff
path: root/src/mm-bearer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-bearer.c')
-rw-r--r--src/mm-bearer.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mm-bearer.c b/src/mm-bearer.c
index 9e96bded..d047e11f 100644
--- a/src/mm-bearer.c
+++ b/src/mm-bearer.c
@@ -57,6 +57,7 @@ enum {
PROP_MODEM,
PROP_STATUS,
PROP_CONFIG,
+ PROP_DEFAULT_IP_FAMILY,
PROP_LAST
};
@@ -73,6 +74,8 @@ struct _MMBearerPrivate {
MMBearerStatus status;
/* Configuration of the bearer */
MMBearerProperties *config;
+ /* Default IP family of this bearer */
+ MMBearerIpFamily default_ip_family;
/* Cancellable for connect() */
GCancellable *connect_cancellable;
@@ -844,6 +847,12 @@ mm_bearer_get_config (MMBearer *self)
NULL);
}
+MMBearerIpFamily
+mm_bearer_get_default_ip_family (MMBearer *self)
+{
+ return self->priv->default_ip_family;
+}
+
/*****************************************************************************/
static void
@@ -969,6 +978,9 @@ set_property (GObject *object,
g_variant_unref (dictionary);
break;
}
+ case PROP_DEFAULT_IP_FAMILY:
+ self->priv->default_ip_family = g_value_get_enum (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -999,6 +1011,9 @@ get_property (GObject *object,
case PROP_CONFIG:
g_value_set_object (value, self->priv->config);
break;
+ case PROP_DEFAULT_IP_FAMILY:
+ g_value_set_enum (value, self->priv->default_ip_family);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1015,6 +1030,7 @@ mm_bearer_init (MMBearer *self)
self->priv->status = MM_BEARER_STATUS_DISCONNECTED;
self->priv->reason_3gpp = CONNECTION_FORBIDDEN_REASON_NONE;
self->priv->reason_cdma = CONNECTION_FORBIDDEN_REASON_NONE;
+ self->priv->default_ip_family = MM_BEARER_IP_FAMILY_IPV4;
/* Set defaults */
mm_gdbus_bearer_set_interface (MM_GDBUS_BEARER (self), NULL);
@@ -1111,6 +1127,15 @@ mm_bearer_class_init (MMBearerClass *klass)
MM_TYPE_BEARER_PROPERTIES,
G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_CONFIG, properties[PROP_CONFIG]);
+
+ properties[PROP_DEFAULT_IP_FAMILY] =
+ g_param_spec_enum (MM_BEARER_DEFAULT_IP_FAMILY,
+ "Bearer default IP family",
+ "IP family to use for this bearer when no IP family is specified",
+ MM_TYPE_BEARER_IP_FAMILY,
+ MM_BEARER_IP_FAMILY_IPV4,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_DEFAULT_IP_FAMILY, properties[PROP_DEFAULT_IP_FAMILY]);
}
/*****************************************************************************/