diff options
Diffstat (limited to 'src/mm-bearer.c')
-rw-r--r-- | src/mm-bearer.c | 25 |
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]); } /*****************************************************************************/ |