libnm,libnm-glib: add Device.Managed setter

This commit is contained in:
Lubomir Rintel 2015-03-23 13:31:10 +01:00 committed by Thomas Haller
parent 0eebf580c1
commit b2fa116486
6 changed files with 69 additions and 0 deletions

View file

@ -173,6 +173,7 @@ global:
nm_device_olpc_mesh_get_type;
nm_device_olpc_mesh_new;
nm_device_set_autoconnect;
nm_device_set_managed;
nm_device_team_error_get_type;
nm_device_team_error_quark;
nm_device_team_get_carrier;

View file

@ -515,6 +515,11 @@ set_property (GObject *object,
/* Construct only */
priv->device_type = g_value_get_uint (value);
break;
case PROP_MANAGED:
b = g_value_get_boolean (value);
if (priv->managed != b)
nm_device_set_managed (NM_DEVICE (object), b);
break;
case PROP_AUTOCONNECT:
b = g_value_get_boolean (value);
if (priv->autoconnect != b)
@ -1213,6 +1218,35 @@ nm_device_get_managed (NMDevice *device)
return NM_DEVICE_GET_PRIVATE (device)->managed;
}
/**
* nm_device_set_managed:
* @device: a #NMDevice
* @managed: %TRUE to make the device managed by NetworkManager.
*
* Enables or disables management of #NMDevice by NetworkManager.
*
* Since: 1.2
**/
void
nm_device_set_managed (NMDevice *device, gboolean managed)
{
GValue value = G_VALUE_INIT;
g_return_if_fail (NM_IS_DEVICE (device));
managed = !!managed;
g_value_init (&value, G_TYPE_BOOLEAN);
g_value_set_boolean (&value, managed);
NM_DEVICE_GET_PRIVATE (device)->managed = managed;
_nm_object_set_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE,
"Managed",
&value);
}
/**
* nm_device_get_autoconnect:
* @device: a #NMDevice

View file

@ -127,6 +127,8 @@ NM_AVAILABLE_IN_0_9_10
const char * nm_device_get_hw_address (NMDevice *device);
NMDeviceCapabilities nm_device_get_capabilities (NMDevice *device);
gboolean nm_device_get_managed (NMDevice *device);
NM_AVAILABLE_IN_1_2
void nm_device_set_managed (NMDevice *device, gboolean managed);
gboolean nm_device_get_autoconnect (NMDevice *device);
void nm_device_set_autoconnect (NMDevice *device, gboolean autoconnect);
gboolean nm_device_get_firmware_missing (NMDevice *device);

View file

@ -860,6 +860,7 @@ global:
nm_access_point_get_last_seen;
nm_device_get_metered;
nm_device_get_nm_plugin_missing;
nm_device_set_managed;
nm_device_wifi_request_scan_options;
nm_device_wifi_request_scan_options_async;
nm_metered_get_type;

View file

@ -482,6 +482,11 @@ set_property (GObject *object,
/* Construct only */
priv->device_type = g_value_get_enum (value);
break;
case PROP_MANAGED:
b = g_value_get_boolean (value);
if (priv->managed != b)
nm_device_set_managed (NM_DEVICE (object), b);
break;
case PROP_AUTOCONNECT:
b = g_value_get_boolean (value);
if (priv->autoconnect != b)
@ -1094,6 +1099,30 @@ nm_device_get_managed (NMDevice *device)
return NM_DEVICE_GET_PRIVATE (device)->managed;
}
/**
* nm_device_set_managed:
* @device: a #NMDevice
* @managed: %TRUE to make the device managed by NetworkManager.
*
* Enables or disables management of #NMDevice by NetworkManager.
*
* Since: 1.2
**/
void
nm_device_set_managed (NMDevice *device, gboolean managed)
{
g_return_if_fail (NM_IS_DEVICE (device));
managed = !!managed;
NM_DEVICE_GET_PRIVATE (device)->managed = managed;
_nm_object_set_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE,
"Managed",
"b", managed);
}
/**
* nm_device_get_autoconnect:
* @device: a #NMDevice

View file

@ -103,6 +103,8 @@ const char * nm_device_get_type_description (NMDevice *device);
const char * nm_device_get_hw_address (NMDevice *device);
NMDeviceCapabilities nm_device_get_capabilities (NMDevice *device);
gboolean nm_device_get_managed (NMDevice *device);
NM_AVAILABLE_IN_1_2
void nm_device_set_managed (NMDevice *device, gboolean managed);
gboolean nm_device_get_autoconnect (NMDevice *device);
void nm_device_set_autoconnect (NMDevice *device, gboolean autoconnect);
gboolean nm_device_get_firmware_missing (NMDevice *device);