diff options
author | Dan Williams <dcbw@redhat.com> | 2014-10-06 11:34:02 -0500 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-12-04 12:15:12 +0100 |
commit | deb6c5f7143f9f257b79a8c9db724310ef4c9a31 (patch) | |
tree | 286f4bc62c5b3a15da1b060c2ae47d122cad3887 | |
parent | d6f9230beba146818112b36f9f31c9eb10bec888 (diff) | |
download | NetworkManager-deb6c5f7143f9f257b79a8c9db724310ef4c9a31.tar.gz |
libnm-glib/libnm: add support for "real" NMDevice property
-rw-r--r-- | libnm-glib/libnm-glib.ver | 1 | ||||
-rw-r--r-- | libnm-glib/nm-device.c | 41 | ||||
-rw-r--r-- | libnm-glib/nm-device.h | 3 | ||||
-rw-r--r-- | libnm/libnm.ver | 1 | ||||
-rw-r--r-- | libnm/nm-device.c | 40 | ||||
-rw-r--r-- | libnm/nm-device.h | 3 |
6 files changed, 89 insertions, 0 deletions
diff --git a/libnm-glib/libnm-glib.ver b/libnm-glib/libnm-glib.ver index fc0c0b95c2..53352587b5 100644 --- a/libnm-glib/libnm-glib.ver +++ b/libnm-glib/libnm-glib.ver @@ -158,6 +158,7 @@ global: nm_device_infiniband_get_hw_address; nm_device_infiniband_get_type; nm_device_infiniband_new; + nm_device_is_real; nm_device_is_software; nm_device_modem_error_get_type; nm_device_modem_error_quark; diff --git a/libnm-glib/nm-device.c b/libnm-glib/nm-device.c index ce76432107..ade17d579e 100644 --- a/libnm-glib/nm-device.c +++ b/libnm-glib/nm-device.c @@ -79,6 +79,7 @@ typedef struct { char *firmware_version; char *type_description; NMDeviceCapabilities capabilities; + gboolean real; gboolean managed; gboolean firmware_missing; gboolean autoconnect; @@ -110,6 +111,7 @@ enum { PROP_DRIVER_VERSION, PROP_FIRMWARE_VERSION, PROP_CAPABILITIES, + PROP_REAL, PROP_MANAGED, PROP_AUTOCONNECT, PROP_FIRMWARE_MISSING, @@ -196,6 +198,7 @@ register_properties (NMDevice *device) { NM_DEVICE_DRIVER_VERSION, &priv->driver_version }, { NM_DEVICE_FIRMWARE_VERSION, &priv->firmware_version }, { NM_DEVICE_CAPABILITIES, &priv->capabilities }, + { NM_DEVICE_REAL, &priv->real }, { NM_DEVICE_MANAGED, &priv->managed }, { NM_DEVICE_AUTOCONNECT, &priv->autoconnect }, { NM_DEVICE_FIRMWARE_MISSING, &priv->firmware_missing }, @@ -446,6 +449,9 @@ get_property (GObject *object, case PROP_CAPABILITIES: g_value_set_uint (value, nm_device_get_capabilities (device)); break; + case PROP_REAL: + g_value_set_boolean (value, nm_device_is_real (device)); + break; case PROP_MANAGED: g_value_set_boolean (value, nm_device_get_managed (device)); break; @@ -653,6 +659,22 @@ nm_device_class_init (NMDeviceClass *device_class) G_PARAM_STATIC_STRINGS)); /** + * NMDevice:real: + * + * Whether the device is real or is a placeholder device that could + * be created automatically by NetworkManager if one of its + * #NMDevice:available-connections was activated. + * + * Since: 1.2 + **/ + g_object_class_install_property + (object_class, PROP_REAL, + g_param_spec_boolean (NM_DEVICE_REAL, "", "", + FALSE, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); + + /** * NMDevice:managed: * * Whether the device is managed by NetworkManager. @@ -2106,6 +2128,25 @@ nm_device_get_mtu (NMDevice *device) } /** + * nm_device_is_real: + * @device: a #NMDevice + * + * Returns: %TRUE if the device exists, or %FALSE if it is a placeholder device + * that could be automatically created by NetworkManager if one of its + * #NMDevice:available-connections was activated. + * + * Since: 1.2 + **/ +gboolean +nm_device_is_real (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)->real; +} + +/** * nm_device_is_software: * @device: a #NMDevice * diff --git a/libnm-glib/nm-device.h b/libnm-glib/nm-device.h index 3d0abde1ca..d2d154dc1f 100644 --- a/libnm-glib/nm-device.h +++ b/libnm-glib/nm-device.h @@ -66,6 +66,7 @@ GQuark nm_device_error_quark (void); #define NM_DEVICE_DRIVER_VERSION "driver-version" #define NM_DEVICE_FIRMWARE_VERSION "firmware-version" #define NM_DEVICE_CAPABILITIES "capabilities" +#define NM_DEVICE_REAL "real" #define NM_DEVICE_MANAGED "managed" #define NM_DEVICE_AUTOCONNECT "autoconnect" #define NM_DEVICE_FIRMWARE_MISSING "firmware-missing" @@ -146,6 +147,8 @@ NM_AVAILABLE_IN_0_9_10 guint32 nm_device_get_mtu (NMDevice *device); NM_AVAILABLE_IN_1_0 gboolean nm_device_is_software (NMDevice *device); +NM_AVAILABLE_IN_1_2 +gboolean nm_device_is_real (NMDevice *device); const char * nm_device_get_product (NMDevice *device); const char * nm_device_get_vendor (NMDevice *device); diff --git a/libnm/libnm.ver b/libnm/libnm.ver index dbd95922e9..ae287695bc 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -876,6 +876,7 @@ global: nm_device_ip_tunnel_get_ttl; nm_device_ip_tunnel_get_type; nm_device_get_nm_plugin_missing; + nm_device_is_real; nm_device_set_managed; nm_device_tun_get_group; nm_device_tun_get_hw_address; diff --git a/libnm/nm-device.c b/libnm/nm-device.c index 3ca08c55ce..7e48a53087 100644 --- a/libnm/nm-device.c +++ b/libnm/nm-device.c @@ -86,6 +86,7 @@ typedef struct { char *type_description; NMMetered metered; NMDeviceCapabilities capabilities; + gboolean real; gboolean managed; gboolean firmware_missing; gboolean nm_plugin_missing; @@ -119,6 +120,7 @@ enum { PROP_DRIVER_VERSION, PROP_FIRMWARE_VERSION, PROP_CAPABILITIES, + PROP_REAL, PROP_MANAGED, PROP_AUTOCONNECT, PROP_FIRMWARE_MISSING, @@ -229,6 +231,7 @@ init_dbus (NMObject *object) { NM_DEVICE_DRIVER_VERSION, &priv->driver_version }, { NM_DEVICE_FIRMWARE_VERSION, &priv->firmware_version }, { NM_DEVICE_CAPABILITIES, &priv->capabilities }, + { NM_DEVICE_REAL, &priv->real }, { NM_DEVICE_MANAGED, &priv->managed }, { NM_DEVICE_AUTOCONNECT, &priv->autoconnect }, { NM_DEVICE_FIRMWARE_MISSING, &priv->firmware_missing }, @@ -461,6 +464,9 @@ get_property (GObject *object, case PROP_CAPABILITIES: g_value_set_flags (value, nm_device_get_capabilities (device)); break; + case PROP_REAL: + g_value_set_boolean (value, nm_device_is_real (device)); + break; case PROP_MANAGED: g_value_set_boolean (value, nm_device_get_managed (device)); break; @@ -680,6 +686,22 @@ nm_device_class_init (NMDeviceClass *device_class) G_PARAM_STATIC_STRINGS)); /** + * NMDevice:real: + * + * Whether the device is real or is a placeholder device that could + * be created automatically by NetworkManager if one of its + * #NMDevice:available-connections was activated. + * + * Since: 1.2 + **/ + g_object_class_install_property + (object_class, PROP_REAL, + g_param_spec_boolean (NM_DEVICE_REAL, "", "", + FALSE, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); + + /** * NMDevice:managed: * * Whether the device is managed by NetworkManager. @@ -2098,6 +2120,24 @@ nm_device_get_lldp_neighbors (NMDevice *device) } /** + * nm_device_is_real: + * @device: a #NMDevice + * + * Returns: %TRUE if the device exists, or %FALSE if it is a placeholder device + * that could be automatically created by NetworkManager if one of its + * #NMDevice:available-connections was activated. + * + * Since: 1.2 + **/ +gboolean +nm_device_is_real (NMDevice *device) +{ + g_return_val_if_fail (NM_IS_DEVICE (device), FALSE); + + return NM_DEVICE_GET_PRIVATE (device)->real; +} + +/** * nm_device_is_software: * @device: a #NMDevice * diff --git a/libnm/nm-device.h b/libnm/nm-device.h index 005d85dd4f..45ee3b2100 100644 --- a/libnm/nm-device.h +++ b/libnm/nm-device.h @@ -45,6 +45,7 @@ G_BEGIN_DECLS #define NM_DEVICE_DRIVER_VERSION "driver-version" #define NM_DEVICE_FIRMWARE_VERSION "firmware-version" #define NM_DEVICE_CAPABILITIES "capabilities" +#define NM_DEVICE_REAL "real" #define NM_DEVICE_MANAGED "managed" #define NM_DEVICE_AUTOCONNECT "autoconnect" #define NM_DEVICE_FIRMWARE_MISSING "firmware-missing" @@ -123,6 +124,8 @@ NMActiveConnection * nm_device_get_active_connection(NMDevice *device); const GPtrArray * nm_device_get_available_connections(NMDevice *device); const char * nm_device_get_physical_port_id (NMDevice *device); guint32 nm_device_get_mtu (NMDevice *device); +NM_AVAILABLE_IN_1_2 +gboolean nm_device_is_real (NMDevice *device); gboolean nm_device_is_software (NMDevice *device); const char * nm_device_get_product (NMDevice *device); |