From 3dbe8041a71b532e3321a54b17b673e17b0a5edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Thu, 19 Jun 2014 11:21:05 +0200 Subject: [PATCH] libnm-glib: add nm_device_is_software() function to NMDevice It says whether the device is a software one, according to device capabilities. --- libnm-glib/libnm-glib.ver | 1 + libnm-glib/nm-device.c | 19 +++++++++++++++++++ libnm-glib/nm-device.h | 2 ++ 3 files changed, 22 insertions(+) diff --git a/libnm-glib/libnm-glib.ver b/libnm-glib/libnm-glib.ver index 982288e50..730af64ff 100644 --- a/libnm-glib/libnm-glib.ver +++ b/libnm-glib/libnm-glib.ver @@ -156,6 +156,7 @@ global: nm_device_infiniband_get_hw_address; nm_device_infiniband_get_type; nm_device_infiniband_new; + nm_device_is_software; nm_device_modem_error_get_type; nm_device_modem_error_quark; nm_device_modem_get_current_capabilities; diff --git a/libnm-glib/nm-device.c b/libnm-glib/nm-device.c index 1a63d28d2..5df0d49c1 100644 --- a/libnm-glib/nm-device.c +++ b/libnm-glib/nm-device.c @@ -2065,6 +2065,25 @@ nm_device_get_mtu (NMDevice *device) return NM_DEVICE_GET_PRIVATE (device)->mtu; } +/** + * nm_device_is_software: + * @device: a #NMDevice + * + * Whether the device is a software device. + * + * Returns: %TRUE if @device is a software device, %FALSE if it is a hardware device. + * + * Since: 1.0 + **/ +gboolean +nm_device_is_software (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)->capabilities & NM_DEVICE_CAP_IS_SOFTWARE); +} + typedef struct { NMDevice *device; NMDeviceDeactivateFn fn; diff --git a/libnm-glib/nm-device.h b/libnm-glib/nm-device.h index 3c57744a0..3c9b7fd45 100644 --- a/libnm-glib/nm-device.h +++ b/libnm-glib/nm-device.h @@ -142,6 +142,8 @@ NM_AVAILABLE_IN_0_9_10 const char * nm_device_get_physical_port_id (NMDevice *device); 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); const char * nm_device_get_product (NMDevice *device); const char * nm_device_get_vendor (NMDevice *device);