summaryrefslogtreecommitdiff
path: root/udev.h
blob: e72fe199a04298e9ddeb07290822634bcab7f747 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef __DYNAMITEUDEV_H
#define __DYNAMITEUDEV_H

#include <libudev.h>

class cUdevListEntry {
private:
  struct udev_list_entry *listEntry;
public:
  cUdevListEntry(struct udev_list_entry *ListEntry);
  virtual ~cUdevListEntry(void);
  
  cUdevListEntry *GetNext(void) const;
  const char *GetName(void) const;
  const char *GetValue(void) const;
  };

class cUdevDevice {
private:
  struct udev_device *device;
  bool doUnref;
public:
  cUdevDevice(udev_device *Device, bool DoUnref = true);
  virtual ~cUdevDevice(void);

  const char  *GetAction(void) const;
  cUdevListEntry *GetDevlinksList(void) const;
  cUdevDevice *GetParent(void) const;
  const char  *GetPropertyValue(const char *Key) const;
  const char  *GetSyspath(void) const;
  };

class cUdev {
private:
  static struct udev *udev;
public:
  static struct udev *Init(void);
  static void Free(void);
  };

#endif // __DYNAMITEUDEV_H