libnm-glib: add 'autoconnect' property for devices
This commit is contained in:
@@ -89,6 +89,7 @@ global:
|
|||||||
nm_device_ethernet_new;
|
nm_device_ethernet_new;
|
||||||
nm_device_filter_connections;
|
nm_device_filter_connections;
|
||||||
nm_device_get_active_connection;
|
nm_device_get_active_connection;
|
||||||
|
nm_device_get_autoconnect;
|
||||||
nm_device_get_capabilities;
|
nm_device_get_capabilities;
|
||||||
nm_device_get_device_type;
|
nm_device_get_device_type;
|
||||||
nm_device_get_dhcp4_config;
|
nm_device_get_dhcp4_config;
|
||||||
@@ -125,6 +126,7 @@ global:
|
|||||||
nm_device_olpc_mesh_get_hw_address;
|
nm_device_olpc_mesh_get_hw_address;
|
||||||
nm_device_olpc_mesh_get_type;
|
nm_device_olpc_mesh_get_type;
|
||||||
nm_device_olpc_mesh_new;
|
nm_device_olpc_mesh_new;
|
||||||
|
nm_device_set_autoconnect;
|
||||||
nm_device_vlan_error_get_type;
|
nm_device_vlan_error_get_type;
|
||||||
nm_device_vlan_error_quark;
|
nm_device_vlan_error_quark;
|
||||||
nm_device_vlan_get_carrier;
|
nm_device_vlan_get_carrier;
|
||||||
|
@@ -71,6 +71,7 @@ typedef struct {
|
|||||||
NMDeviceCapabilities capabilities;
|
NMDeviceCapabilities capabilities;
|
||||||
gboolean managed;
|
gboolean managed;
|
||||||
gboolean firmware_missing;
|
gboolean firmware_missing;
|
||||||
|
gboolean autoconnect;
|
||||||
NMIP4Config *ip4_config;
|
NMIP4Config *ip4_config;
|
||||||
NMDHCP4Config *dhcp4_config;
|
NMDHCP4Config *dhcp4_config;
|
||||||
NMIP6Config *ip6_config;
|
NMIP6Config *ip6_config;
|
||||||
@@ -92,6 +93,7 @@ enum {
|
|||||||
PROP_DRIVER,
|
PROP_DRIVER,
|
||||||
PROP_CAPABILITIES,
|
PROP_CAPABILITIES,
|
||||||
PROP_MANAGED,
|
PROP_MANAGED,
|
||||||
|
PROP_AUTOCONNECT,
|
||||||
PROP_FIRMWARE_MISSING,
|
PROP_FIRMWARE_MISSING,
|
||||||
PROP_IP4_CONFIG,
|
PROP_IP4_CONFIG,
|
||||||
PROP_DHCP4_CONFIG,
|
PROP_DHCP4_CONFIG,
|
||||||
@@ -154,6 +156,7 @@ register_properties (NMDevice *device)
|
|||||||
{ NM_DEVICE_DRIVER, &priv->driver },
|
{ NM_DEVICE_DRIVER, &priv->driver },
|
||||||
{ NM_DEVICE_CAPABILITIES, &priv->capabilities },
|
{ NM_DEVICE_CAPABILITIES, &priv->capabilities },
|
||||||
{ NM_DEVICE_MANAGED, &priv->managed },
|
{ NM_DEVICE_MANAGED, &priv->managed },
|
||||||
|
{ NM_DEVICE_AUTOCONNECT, &priv->autoconnect },
|
||||||
{ NM_DEVICE_FIRMWARE_MISSING, &priv->firmware_missing },
|
{ NM_DEVICE_FIRMWARE_MISSING, &priv->firmware_missing },
|
||||||
{ NM_DEVICE_IP4_CONFIG, &priv->ip4_config, NULL, NM_TYPE_IP4_CONFIG },
|
{ NM_DEVICE_IP4_CONFIG, &priv->ip4_config, NULL, NM_TYPE_IP4_CONFIG },
|
||||||
{ NM_DEVICE_DHCP4_CONFIG, &priv->dhcp4_config, NULL, NM_TYPE_DHCP4_CONFIG },
|
{ NM_DEVICE_DHCP4_CONFIG, &priv->dhcp4_config, NULL, NM_TYPE_DHCP4_CONFIG },
|
||||||
@@ -326,6 +329,9 @@ get_property (GObject *object,
|
|||||||
case PROP_MANAGED:
|
case PROP_MANAGED:
|
||||||
g_value_set_boolean (value, nm_device_get_managed (device));
|
g_value_set_boolean (value, nm_device_get_managed (device));
|
||||||
break;
|
break;
|
||||||
|
case PROP_AUTOCONNECT:
|
||||||
|
g_value_set_boolean (value, nm_device_get_autoconnect (device));
|
||||||
|
break;
|
||||||
case PROP_FIRMWARE_MISSING:
|
case PROP_FIRMWARE_MISSING:
|
||||||
g_value_set_boolean (value, nm_device_get_firmware_missing (device));
|
g_value_set_boolean (value, nm_device_get_firmware_missing (device));
|
||||||
break;
|
break;
|
||||||
@@ -375,12 +381,18 @@ set_property (GObject *object,
|
|||||||
{
|
{
|
||||||
NMDevice *self = NM_DEVICE (object);
|
NMDevice *self = NM_DEVICE (object);
|
||||||
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
|
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
|
||||||
|
gboolean b;
|
||||||
|
|
||||||
switch (prop_id) {
|
switch (prop_id) {
|
||||||
case PROP_DEVICE_TYPE:
|
case PROP_DEVICE_TYPE:
|
||||||
/* Construct only */
|
/* Construct only */
|
||||||
priv->device_type = g_value_get_uint (value);
|
priv->device_type = g_value_get_uint (value);
|
||||||
break;
|
break;
|
||||||
|
case PROP_AUTOCONNECT:
|
||||||
|
b = g_value_get_boolean (value);
|
||||||
|
if (priv->autoconnect != b)
|
||||||
|
nm_device_set_autoconnect (NM_DEVICE (object), b);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -499,6 +511,19 @@ nm_device_class_init (NMDeviceClass *device_class)
|
|||||||
FALSE,
|
FALSE,
|
||||||
G_PARAM_READABLE));
|
G_PARAM_READABLE));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NMDevice:autoconnect:
|
||||||
|
*
|
||||||
|
* Whether the device can auto-activate a connection.
|
||||||
|
**/
|
||||||
|
g_object_class_install_property
|
||||||
|
(object_class, PROP_AUTOCONNECT,
|
||||||
|
g_param_spec_boolean (NM_DEVICE_AUTOCONNECT,
|
||||||
|
"Autoconnect",
|
||||||
|
"Autoconnect",
|
||||||
|
TRUE,
|
||||||
|
G_PARAM_READWRITE));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NMDevice:firmware-missing:
|
* NMDevice:firmware-missing:
|
||||||
*
|
*
|
||||||
@@ -917,6 +942,49 @@ nm_device_get_managed (NMDevice *device)
|
|||||||
return NM_DEVICE_GET_PRIVATE (device)->managed;
|
return NM_DEVICE_GET_PRIVATE (device)->managed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* nm_device_get_autoconnect:
|
||||||
|
* @device: a #NMDevice
|
||||||
|
*
|
||||||
|
* Whether the #NMDevice can be autoconnected.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if the device is allowed to be autoconnected
|
||||||
|
**/
|
||||||
|
gboolean
|
||||||
|
nm_device_get_autoconnect (NMDevice *device)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (NM_IS_DEVICE (device), FALSE);
|
||||||
|
|
||||||
|
_nm_object_ensure_inited (NM_OBJECT (device));
|
||||||
|
return NM_DEVICE_GET_PRIVATE (device)->autoconnect;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* nm_device_set_autoconnect:
|
||||||
|
* @device: a #NMDevice
|
||||||
|
* @autoconnect: %TRUE to enable autoconnecting
|
||||||
|
*
|
||||||
|
* Enables or disables automatic activation of the #NMDevice.
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
nm_device_set_autoconnect (NMDevice *device, gboolean autoconnect)
|
||||||
|
{
|
||||||
|
GValue value = {0,};
|
||||||
|
|
||||||
|
g_return_if_fail (NM_IS_DEVICE (device));
|
||||||
|
|
||||||
|
g_value_init (&value, G_TYPE_BOOLEAN);
|
||||||
|
g_value_set_boolean (&value, autoconnect);
|
||||||
|
|
||||||
|
|
||||||
|
NM_DEVICE_GET_PRIVATE (device)->autoconnect = autoconnect;
|
||||||
|
|
||||||
|
_nm_object_set_property (NM_OBJECT (device),
|
||||||
|
NM_DBUS_INTERFACE_DEVICE,
|
||||||
|
"Autoconnect",
|
||||||
|
&value);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* nm_device_get_firmware_missing:
|
* nm_device_get_firmware_missing:
|
||||||
* @device: a #NMDevice
|
* @device: a #NMDevice
|
||||||
|
@@ -52,6 +52,7 @@ G_BEGIN_DECLS
|
|||||||
#define NM_DEVICE_DRIVER "driver"
|
#define NM_DEVICE_DRIVER "driver"
|
||||||
#define NM_DEVICE_CAPABILITIES "capabilities"
|
#define NM_DEVICE_CAPABILITIES "capabilities"
|
||||||
#define NM_DEVICE_MANAGED "managed"
|
#define NM_DEVICE_MANAGED "managed"
|
||||||
|
#define NM_DEVICE_AUTOCONNECT "autoconnect"
|
||||||
#define NM_DEVICE_FIRMWARE_MISSING "firmware-missing"
|
#define NM_DEVICE_FIRMWARE_MISSING "firmware-missing"
|
||||||
#define NM_DEVICE_IP4_CONFIG "ip4-config"
|
#define NM_DEVICE_IP4_CONFIG "ip4-config"
|
||||||
#define NM_DEVICE_DHCP4_CONFIG "dhcp4-config"
|
#define NM_DEVICE_DHCP4_CONFIG "dhcp4-config"
|
||||||
@@ -100,6 +101,8 @@ const char * nm_device_get_udi (NMDevice *device);
|
|||||||
const char * nm_device_get_driver (NMDevice *device);
|
const char * nm_device_get_driver (NMDevice *device);
|
||||||
NMDeviceCapabilities nm_device_get_capabilities (NMDevice *device);
|
NMDeviceCapabilities nm_device_get_capabilities (NMDevice *device);
|
||||||
gboolean nm_device_get_managed (NMDevice *device);
|
gboolean nm_device_get_managed (NMDevice *device);
|
||||||
|
gboolean nm_device_get_autoconnect (NMDevice *device);
|
||||||
|
void nm_device_set_autoconnect (NMDevice *device, gboolean autoconnect);
|
||||||
gboolean nm_device_get_firmware_missing (NMDevice *device);
|
gboolean nm_device_get_firmware_missing (NMDevice *device);
|
||||||
NMIP4Config * nm_device_get_ip4_config (NMDevice *device);
|
NMIP4Config * nm_device_get_ip4_config (NMDevice *device);
|
||||||
NMDHCP4Config * nm_device_get_dhcp4_config (NMDevice *device);
|
NMDHCP4Config * nm_device_get_dhcp4_config (NMDevice *device);
|
||||||
|
Reference in New Issue
Block a user