summaryrefslogtreecommitdiff
path: root/monitor.h
diff options
context:
space:
mode:
authorLars Hanisch <dvb@flensrocker.de>2011-02-02 21:44:20 +0100
committerLars Hanisch <dvb@flensrocker.de>2011-02-02 21:44:20 +0100
commit6fb28a2e29faf239b1b14fcac981d560a7550e65 (patch)
tree0fe226aad44f26d2d375fa9320bcfa2f2135123f /monitor.h
parent8a8770d8b8b8d19e5f7d07628f742957d1ade4f1 (diff)
downloadvdr-plugin-dynamite-6fb28a2e29faf239b1b14fcac981d560a7550e65.tar.gz
vdr-plugin-dynamite-6fb28a2e29faf239b1b14fcac981d560a7550e65.tar.bz2
add generic udev-filter
Other plugins can add a filter for different subsystems and devnodes. example: AddUdevMonitor video4linux /dev/video If udev signals an "add"-event whose devnode starts with "/dev/video" the whole devnode is queued for attaching.
Diffstat (limited to 'monitor.h')
-rw-r--r--monitor.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/monitor.h b/monitor.h
index 659e504..79634c0 100644
--- a/monitor.h
+++ b/monitor.h
@@ -54,5 +54,19 @@ class cUdevDvbFilter : public cUdevFilter {
protected:
virtual void Process(cUdevDevice &Device);
};
-
+
+class cUdevPatternFilter : public cUdevFilter {
+public:
+ static bool AddFilter(const char *Subsystem, const char *Pattern);
+protected:
+ static cMutex filtersMutex;
+ static cList<cUdevPatternFilter> filters;
+
+ virtual ~cUdevPatternFilter(void);
+ virtual void Process(cUdevDevice &Device);
+private:
+ cUdevPatternFilter(const char *Pattern);
+ cString pattern;
+ };
+
#endif // __DYNAMITEMONITOR_H