diff options
author | Lars Hanisch <dvb@flensrocker.de> | 2011-02-02 14:18:45 +0100 |
---|---|---|
committer | Lars Hanisch <dvb@flensrocker.de> | 2011-02-02 14:18:45 +0100 |
commit | c03cb92fb43baab9136bd9122d757359e0590fda (patch) | |
tree | dbd9851e29274ba4b0189f3f859c1a29d20b8a88 /udev.c | |
download | vdr-plugin-dynamite-c03cb92fb43baab9136bd9122d757359e0590fda.tar.gz vdr-plugin-dynamite-c03cb92fb43baab9136bd9122d757359e0590fda.tar.bz2 |
initial commit of version 0.0.5c
Diffstat (limited to 'udev.c')
-rw-r--r-- | udev.c | 110 |
1 files changed, 110 insertions, 0 deletions
@@ -0,0 +1,110 @@ +#include "udev.h" +#include <linux/stddef.h> + +// --- cUdevListEntry -------------------------------------------------------- + +cUdevListEntry::cUdevListEntry(struct udev_list_entry *ListEntry) +:listEntry(ListEntry) +{ +} + +cUdevListEntry::~cUdevListEntry(void) +{ +} + +cUdevListEntry *cUdevListEntry::GetNext(void) const +{ + if (listEntry == NULL) + return NULL; + struct udev_list_entry *next = udev_list_entry_get_next(listEntry); + if (next == NULL) + return NULL; + return new cUdevListEntry(next); +} + +const char *cUdevListEntry::GetName(void) const +{ + if (listEntry == NULL) + return NULL; + return udev_list_entry_get_name(listEntry); +} + +const char *cUdevListEntry::GetValue(void) const +{ + if (listEntry == NULL) + return NULL; + return udev_list_entry_get_value(listEntry); +} + +// --- cUdevDevice ----------------------------------------------------------- + +cUdevDevice::cUdevDevice(udev_device *Device, bool DoUnref) +:device(Device) +,doUnref(DoUnref) +{ +} + +cUdevDevice::~cUdevDevice(void) +{ + if (doUnref && device) + udev_device_unref(device); +} + +const char *cUdevDevice::GetAction(void) const +{ + if (device == NULL) + return NULL; + return udev_device_get_action(device); +} + +cUdevListEntry *cUdevDevice::GetDevlinksList(void) const +{ + if (device == NULL) + return NULL; + struct udev_list_entry *listEntry = udev_device_get_devlinks_list_entry(device); + if (listEntry == NULL) + return NULL; + return new cUdevListEntry(listEntry); +} + +cUdevDevice *cUdevDevice::GetParent(void) const +{ + if (device == NULL) + return NULL; + struct udev_device *parent = udev_device_get_parent(device); + if (parent == NULL) + return NULL; + return new cUdevDevice(parent, false); +} + +const char *cUdevDevice::GetPropertyValue(const char *Key) const +{ + if (device == NULL) + return false; + return udev_device_get_property_value(device, Key); +} + +const char *cUdevDevice::GetSyspath(void) const +{ + if (device == NULL) + return false; + return udev_device_get_syspath(device); +} + +// --- cUdev ----------------------------------------------------------------- + +struct udev *cUdev::udev = NULL; + +struct udev *cUdev::Init(void) +{ + if (udev == NULL) + udev = udev_new(); + return udev; +} + +void cUdev::Free(void) +{ + if (udev) + udev_unref(udev); + udev = NULL; +} |