core: add 'default6' property to ActiveConnection implementations
This commit is contained in:
@@ -72,6 +72,7 @@ typedef struct {
|
|||||||
|
|
||||||
NMActiveConnectionState state;
|
NMActiveConnectionState state;
|
||||||
gboolean is_default;
|
gboolean is_default;
|
||||||
|
gboolean is_default6;
|
||||||
gboolean shared;
|
gboolean shared;
|
||||||
GSList *share_rules;
|
GSList *share_rules;
|
||||||
|
|
||||||
@@ -88,6 +89,7 @@ enum {
|
|||||||
PROP_DEVICES,
|
PROP_DEVICES,
|
||||||
PROP_STATE,
|
PROP_STATE,
|
||||||
PROP_DEFAULT,
|
PROP_DEFAULT,
|
||||||
|
PROP_DEFAULT6,
|
||||||
PROP_VPN,
|
PROP_VPN,
|
||||||
|
|
||||||
LAST_PROP
|
LAST_PROP
|
||||||
@@ -104,7 +106,7 @@ device_state_changed (NMDevice *device,
|
|||||||
NMActRequest *self = NM_ACT_REQUEST (user_data);
|
NMActRequest *self = NM_ACT_REQUEST (user_data);
|
||||||
NMActRequestPrivate *priv = NM_ACT_REQUEST_GET_PRIVATE (self);
|
NMActRequestPrivate *priv = NM_ACT_REQUEST_GET_PRIVATE (self);
|
||||||
NMActiveConnectionState new_ac_state;
|
NMActiveConnectionState new_ac_state;
|
||||||
gboolean new_default = FALSE;
|
gboolean new_default = FALSE, new_default6 = FALSE;
|
||||||
|
|
||||||
/* Set NMActiveConnection state based on the device's state */
|
/* Set NMActiveConnection state based on the device's state */
|
||||||
switch (new_state) {
|
switch (new_state) {
|
||||||
@@ -117,6 +119,7 @@ device_state_changed (NMDevice *device,
|
|||||||
case NM_DEVICE_STATE_ACTIVATED:
|
case NM_DEVICE_STATE_ACTIVATED:
|
||||||
new_ac_state = NM_ACTIVE_CONNECTION_STATE_ACTIVATED;
|
new_ac_state = NM_ACTIVE_CONNECTION_STATE_ACTIVATED;
|
||||||
new_default = priv->is_default;
|
new_default = priv->is_default;
|
||||||
|
new_default6 = priv->is_default6;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
new_ac_state = NM_ACTIVE_CONNECTION_STATE_UNKNOWN;
|
new_ac_state = NM_ACTIVE_CONNECTION_STATE_UNKNOWN;
|
||||||
@@ -132,6 +135,11 @@ device_state_changed (NMDevice *device,
|
|||||||
priv->is_default = new_default;
|
priv->is_default = new_default;
|
||||||
g_object_notify (G_OBJECT (self), NM_ACTIVE_CONNECTION_DEFAULT);
|
g_object_notify (G_OBJECT (self), NM_ACTIVE_CONNECTION_DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (new_default6 != priv->is_default6) {
|
||||||
|
priv->is_default6 = new_default6;
|
||||||
|
g_object_notify (G_OBJECT (self), NM_ACTIVE_CONNECTION_DEFAULT6);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NMActRequest *
|
NMActRequest *
|
||||||
@@ -271,6 +279,9 @@ get_property (GObject *object, guint prop_id,
|
|||||||
case PROP_DEFAULT:
|
case PROP_DEFAULT:
|
||||||
g_value_set_boolean (value, priv->is_default);
|
g_value_set_boolean (value, priv->is_default);
|
||||||
break;
|
break;
|
||||||
|
case PROP_DEFAULT6:
|
||||||
|
g_value_set_boolean (value, priv->is_default6);
|
||||||
|
break;
|
||||||
case PROP_VPN:
|
case PROP_VPN:
|
||||||
g_value_set_boolean (value, FALSE);
|
g_value_set_boolean (value, FALSE);
|
||||||
break;
|
break;
|
||||||
@@ -334,7 +345,14 @@ nm_act_request_class_init (NMActRequestClass *req_class)
|
|||||||
(object_class, PROP_DEFAULT,
|
(object_class, PROP_DEFAULT,
|
||||||
g_param_spec_boolean (NM_ACTIVE_CONNECTION_DEFAULT,
|
g_param_spec_boolean (NM_ACTIVE_CONNECTION_DEFAULT,
|
||||||
"Default",
|
"Default",
|
||||||
"Is the default active connection",
|
"Is the default IPv4 active connection",
|
||||||
|
FALSE,
|
||||||
|
G_PARAM_READABLE));
|
||||||
|
g_object_class_install_property
|
||||||
|
(object_class, PROP_DEFAULT6,
|
||||||
|
g_param_spec_boolean (NM_ACTIVE_CONNECTION_DEFAULT6,
|
||||||
|
"Default6",
|
||||||
|
"Is the default IPv6 active connection",
|
||||||
FALSE,
|
FALSE,
|
||||||
G_PARAM_READABLE));
|
G_PARAM_READABLE));
|
||||||
g_object_class_install_property
|
g_object_class_install_property
|
||||||
@@ -548,6 +566,29 @@ nm_act_request_get_default (NMActRequest *req)
|
|||||||
return NM_ACT_REQUEST_GET_PRIVATE (req)->is_default;
|
return NM_ACT_REQUEST_GET_PRIVATE (req)->is_default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nm_act_request_set_default6 (NMActRequest *req, gboolean is_default6)
|
||||||
|
{
|
||||||
|
NMActRequestPrivate *priv;
|
||||||
|
|
||||||
|
g_return_if_fail (NM_IS_ACT_REQUEST (req));
|
||||||
|
|
||||||
|
priv = NM_ACT_REQUEST_GET_PRIVATE (req);
|
||||||
|
if (priv->is_default6 == is_default6)
|
||||||
|
return;
|
||||||
|
|
||||||
|
priv->is_default6 = is_default6;
|
||||||
|
g_object_notify (G_OBJECT (req), NM_ACTIVE_CONNECTION_DEFAULT6);
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
nm_act_request_get_default6 (NMActRequest *req)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (NM_IS_ACT_REQUEST (req), FALSE);
|
||||||
|
|
||||||
|
return NM_ACT_REQUEST_GET_PRIVATE (req)->is_default6;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
share_child_setup (gpointer user_data G_GNUC_UNUSED)
|
share_child_setup (gpointer user_data G_GNUC_UNUSED)
|
||||||
{
|
{
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*
|
*
|
||||||
* (C) Copyright 2005 - 2008 Red Hat, Inc.
|
* (C) Copyright 2005 - 2010 Red Hat, Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef NM_ACTIVATION_REQUEST_H
|
#ifndef NM_ACTIVATION_REQUEST_H
|
||||||
@@ -76,6 +76,10 @@ void nm_act_request_set_default (NMActRequest *req, gboolean is_default
|
|||||||
|
|
||||||
gboolean nm_act_request_get_default (NMActRequest *req);
|
gboolean nm_act_request_get_default (NMActRequest *req);
|
||||||
|
|
||||||
|
void nm_act_request_set_default6 (NMActRequest *req, gboolean is_default6);
|
||||||
|
|
||||||
|
gboolean nm_act_request_get_default6 (NMActRequest *req);
|
||||||
|
|
||||||
gboolean nm_act_request_get_shared (NMActRequest *req);
|
gboolean nm_act_request_get_shared (NMActRequest *req);
|
||||||
|
|
||||||
void nm_act_request_set_shared (NMActRequest *req, gboolean shared);
|
void nm_act_request_set_shared (NMActRequest *req, gboolean shared);
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008 Red Hat, Inc.
|
* Copyright (C) 2008 - 2010 Red Hat, Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef NM_ACTIVE_CONNECTION_H
|
#ifndef NM_ACTIVE_CONNECTION_H
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
#define NM_ACTIVE_CONNECTION_DEVICES "devices"
|
#define NM_ACTIVE_CONNECTION_DEVICES "devices"
|
||||||
#define NM_ACTIVE_CONNECTION_STATE "state"
|
#define NM_ACTIVE_CONNECTION_STATE "state"
|
||||||
#define NM_ACTIVE_CONNECTION_DEFAULT "default"
|
#define NM_ACTIVE_CONNECTION_DEFAULT "default"
|
||||||
|
#define NM_ACTIVE_CONNECTION_DEFAULT6 "default6"
|
||||||
#define NM_ACTIVE_CONNECTION_VPN "vpn"
|
#define NM_ACTIVE_CONNECTION_VPN "vpn"
|
||||||
|
|
||||||
char *nm_active_connection_get_next_object_path (void);
|
char *nm_active_connection_get_next_object_path (void);
|
||||||
|
@@ -69,6 +69,7 @@ typedef struct {
|
|||||||
gulong device_ip4;
|
gulong device_ip4;
|
||||||
|
|
||||||
gboolean is_default;
|
gboolean is_default;
|
||||||
|
gboolean is_default6;
|
||||||
NMActiveConnectionState state;
|
NMActiveConnectionState state;
|
||||||
|
|
||||||
NMVPNConnectionState vpn_state;
|
NMVPNConnectionState vpn_state;
|
||||||
@@ -102,6 +103,7 @@ enum {
|
|||||||
PROP_DEVICES,
|
PROP_DEVICES,
|
||||||
PROP_STATE,
|
PROP_STATE,
|
||||||
PROP_DEFAULT,
|
PROP_DEFAULT,
|
||||||
|
PROP_DEFAULT6,
|
||||||
PROP_VPN,
|
PROP_VPN,
|
||||||
PROP_VPN_STATE,
|
PROP_VPN_STATE,
|
||||||
PROP_BANNER,
|
PROP_BANNER,
|
||||||
@@ -1052,6 +1054,9 @@ get_property (GObject *object, guint prop_id,
|
|||||||
case PROP_DEFAULT:
|
case PROP_DEFAULT:
|
||||||
g_value_set_boolean (value, priv->is_default);
|
g_value_set_boolean (value, priv->is_default);
|
||||||
break;
|
break;
|
||||||
|
case PROP_DEFAULT6:
|
||||||
|
g_value_set_boolean (value, priv->is_default6);
|
||||||
|
break;
|
||||||
case PROP_VPN:
|
case PROP_VPN:
|
||||||
g_value_set_boolean (value, TRUE);
|
g_value_set_boolean (value, TRUE);
|
||||||
break;
|
break;
|
||||||
@@ -1122,7 +1127,14 @@ nm_vpn_connection_class_init (NMVPNConnectionClass *connection_class)
|
|||||||
(object_class, PROP_DEFAULT,
|
(object_class, PROP_DEFAULT,
|
||||||
g_param_spec_boolean (NM_ACTIVE_CONNECTION_DEFAULT,
|
g_param_spec_boolean (NM_ACTIVE_CONNECTION_DEFAULT,
|
||||||
"Default",
|
"Default",
|
||||||
"Is the default active connection",
|
"Is the default IPv4 active connection",
|
||||||
|
FALSE,
|
||||||
|
G_PARAM_READABLE));
|
||||||
|
g_object_class_install_property
|
||||||
|
(object_class, PROP_DEFAULT6,
|
||||||
|
g_param_spec_boolean (NM_ACTIVE_CONNECTION_DEFAULT6,
|
||||||
|
"Default6",
|
||||||
|
"Is the default IPv6 active connection",
|
||||||
FALSE,
|
FALSE,
|
||||||
G_PARAM_READABLE));
|
G_PARAM_READABLE));
|
||||||
g_object_class_install_property
|
g_object_class_install_property
|
||||||
|
Reference in New Issue
Block a user