aboutsummaryrefslogtreecommitdiff
path: root/src/kerneldevice/mm-kernel-device-udev.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kerneldevice/mm-kernel-device-udev.c')
-rw-r--r--src/kerneldevice/mm-kernel-device-udev.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/kerneldevice/mm-kernel-device-udev.c b/src/kerneldevice/mm-kernel-device-udev.c
index 44fdd074..f75104bd 100644
--- a/src/kerneldevice/mm-kernel-device-udev.c
+++ b/src/kerneldevice/mm-kernel-device-udev.c
@@ -527,6 +527,34 @@ kernel_device_get_global_property (MMKernelDevice *_self,
/*****************************************************************************/
+static gboolean
+kernel_device_has_attribute (MMKernelDevice *_self,
+ const gchar *attribute)
+{
+ MMKernelDeviceUdev *self;
+
+ self = MM_KERNEL_DEVICE_UDEV (_self);
+ if (!self->priv->device)
+ return FALSE;
+
+ return g_udev_device_has_sysfs_attr (self->priv->device, attribute);
+}
+
+static const gchar *
+kernel_device_get_attribute (MMKernelDevice *_self,
+ const gchar *attribute)
+{
+ MMKernelDeviceUdev *self;
+
+ self = MM_KERNEL_DEVICE_UDEV (_self);
+ if (!self->priv->device)
+ return NULL;
+
+ return g_udev_device_get_sysfs_attr (self->priv->device, attribute);
+}
+
+/*****************************************************************************/
+
MMKernelDevice *
mm_kernel_device_udev_new (GUdevDevice *udev_device)
{
@@ -725,6 +753,8 @@ mm_kernel_device_udev_class_init (MMKernelDeviceUdevClass *klass)
kernel_device_class->get_property = kernel_device_get_property;
kernel_device_class->has_global_property = kernel_device_has_global_property;
kernel_device_class->get_global_property = kernel_device_get_global_property;
+ kernel_device_class->has_attribute = kernel_device_has_attribute;
+ kernel_device_class->get_attribute = kernel_device_get_attribute;
properties[PROP_UDEV_DEVICE] =
g_param_spec_object ("udev-device",