summaryrefslogtreecommitdiff
path: root/tasks.h
diff options
context:
space:
mode:
authorSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-13 18:37:21 +0000
committerSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-13 18:37:21 +0000
commit2072c668df9ad48586fd2750713da0be742dda6d (patch)
treeb6a8af74320fe0b4af845fdc7ec0fca40d88f02d /tasks.h
parent872af377d5d207b0292c4deb3ebdff09c116ea3d (diff)
downloadvdr-plugin-live-2072c668df9ad48586fd2750713da0be742dda6d.tar.gz
vdr-plugin-live-2072c668df9ad48586fd2750713da0be742dda6d.tar.bz2
- added service to switch channels by channel-id
Diffstat (limited to 'tasks.h')
-rw-r--r--tasks.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/tasks.h b/tasks.h
new file mode 100644
index 0000000..21a0ae4
--- /dev/null
+++ b/tasks.h
@@ -0,0 +1,31 @@
+#ifndef VDR_LIVE_TASKS_H
+#define VDR_LIVE_TASKS_H
+
+#include <vdr/thread.h>
+
+namespace vdrlive {
+
+class TaskManager: public cMutex
+{
+ friend TaskManager& LiveTaskManager();
+
+public:
+ bool SwitchChannel( int number );
+
+ // may only be called from Plugin::MainThreadHook
+ void DoScheduledWork();
+
+private:
+ TaskManager();
+ TaskManager( TaskManager const& );
+
+ int m_switchChannel;
+ bool m_switchResult;
+ cCondVar m_scheduleWait;
+};
+
+TaskManager& LiveTaskManager();
+
+} // namespace vdrlive
+
+#endif // VDR_LIVE_TASKS_H