diff options
author | Jiří Klimeš <jklimes@redhat.com> | 2014-07-21 12:32:10 +0200 |
---|---|---|
committer | Jiří Klimeš <jklimes@redhat.com> | 2014-11-24 10:33:22 +0100 |
commit | 922a78d120249a6e3699dbdfdba5df4e84f5afeb (patch) | |
tree | c5b7f8ac617dff39af5738abc436222987ba8ac5 /libnm-glib | |
parent | 4e105c5012667d5722d69e2a697ab085e62c7e0f (diff) | |
download | NetworkManager-922a78d120249a6e3699dbdfdba5df4e84f5afeb.tar.gz |
libnm-glib: add :parent property for VLAN devices
Diffstat (limited to 'libnm-glib')
-rw-r--r-- | libnm-glib/libnm-glib.ver | 1 | ||||
-rw-r--r-- | libnm-glib/nm-device-vlan.c | 38 | ||||
-rw-r--r-- | libnm-glib/nm-device-vlan.h | 5 |
3 files changed, 43 insertions, 1 deletions
diff --git a/libnm-glib/libnm-glib.ver b/libnm-glib/libnm-glib.ver index c0f1bba0dc..9219c4a2bb 100644 --- a/libnm-glib/libnm-glib.ver +++ b/libnm-glib/libnm-glib.ver @@ -183,6 +183,7 @@ global: nm_device_vlan_error_quark; nm_device_vlan_get_carrier; nm_device_vlan_get_hw_address; + nm_device_vlan_get_parent; nm_device_vlan_get_type; nm_device_vlan_get_vlan_id; nm_device_vlan_new; diff --git a/libnm-glib/nm-device-vlan.c b/libnm-glib/nm-device-vlan.c index 8f8750e22d..f28b86a1c0 100644 --- a/libnm-glib/nm-device-vlan.c +++ b/libnm-glib/nm-device-vlan.c @@ -42,6 +42,7 @@ typedef struct { char *hw_address; gboolean carrier; + NMDevice *parent; guint vlan_id; } NMDeviceVlanPrivate; @@ -49,6 +50,7 @@ enum { PROP_0, PROP_HW_ADDRESS, PROP_CARRIER, + PROP_PARENT, PROP_VLAN_ID, LAST_PROP @@ -132,6 +134,23 @@ nm_device_vlan_get_carrier (NMDeviceVlan *device) } /** + * nm_device_vlan_get_parent: + * @device: a #NMDeviceVlan + * + * Returns: the device's parent device + * + * Since: 1.0 + **/ +NMDevice * +nm_device_vlan_get_parent (NMDeviceVlan *device) +{ + g_return_val_if_fail (NM_IS_DEVICE_VLAN (device), FALSE); + + _nm_object_ensure_inited (NM_OBJECT (device)); + return NM_DEVICE_VLAN_GET_PRIVATE (device)->parent; +} + +/** * nm_device_vlan_get_vlan_id: * @device: a #NMDeviceVlan * @@ -231,6 +250,7 @@ register_properties (NMDeviceVlan *device) const NMPropertiesInfo property_info[] = { { NM_DEVICE_VLAN_HW_ADDRESS, &priv->hw_address }, { NM_DEVICE_VLAN_CARRIER, &priv->carrier }, + { NM_DEVICE_VLAN_PARENT, &priv->parent, NULL, NM_TYPE_DEVICE }, { NM_DEVICE_VLAN_VLAN_ID, &priv->vlan_id }, { NULL }, }; @@ -256,6 +276,7 @@ dispose (GObject *object) { NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE (object); + g_clear_object (&priv->parent); g_clear_object (&priv->proxy); G_OBJECT_CLASS (nm_device_vlan_parent_class)->dispose (object); @@ -288,6 +309,9 @@ get_property (GObject *object, case PROP_CARRIER: g_value_set_boolean (value, nm_device_vlan_get_carrier (device)); break; + case PROP_PARENT: + g_value_set_object (value, nm_device_vlan_get_parent (device)); + break; case PROP_VLAN_ID: g_value_set_uint (value, nm_device_vlan_get_vlan_id (device)); break; @@ -341,6 +365,20 @@ nm_device_vlan_class_init (NMDeviceVlanClass *vlan_class) G_PARAM_STATIC_STRINGS)); /** + * NMDeviceVlan:parent: + * + * The devices's parent device. + * + * Since: 1.0 + **/ + g_object_class_install_property + (object_class, PROP_PARENT, + g_param_spec_object (NM_DEVICE_VLAN_PARENT, "", "", + NM_TYPE_DEVICE, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); + + /** * NMDeviceVlan:vlan-id: * * The device's VLAN ID. diff --git a/libnm-glib/nm-device-vlan.h b/libnm-glib/nm-device-vlan.h index 511d02215b..107cfea88f 100644 --- a/libnm-glib/nm-device-vlan.h +++ b/libnm-glib/nm-device-vlan.h @@ -15,7 +15,7 @@ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * - * Copyright 2012 Red Hat, Inc. + * Copyright 2012 - 2014 Red Hat, Inc. */ #ifndef NM_DEVICE_VLAN_H @@ -55,6 +55,7 @@ GQuark nm_device_vlan_error_quark (void); #define NM_DEVICE_VLAN_HW_ADDRESS "hw-address" #define NM_DEVICE_VLAN_CARRIER "carrier" +#define NM_DEVICE_VLAN_PARENT "parent" #define NM_DEVICE_VLAN_VLAN_ID "vlan-id" typedef struct { @@ -79,6 +80,8 @@ GObject *nm_device_vlan_new (DBusGConnection *connection, const char *path); const char * nm_device_vlan_get_hw_address (NMDeviceVlan *device); gboolean nm_device_vlan_get_carrier (NMDeviceVlan *device); +NM_AVAILABLE_IN_1_0 +NMDevice * nm_device_vlan_get_parent (NMDeviceVlan *device); guint nm_device_vlan_get_vlan_id (NMDeviceVlan *device); G_END_DECLS |