summaryrefslogtreecommitdiff
path: root/otk/timerqueuemanager.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-11-04 03:59:09 +0000
committerDana Jansens <danakj@orodu.net>2002-11-04 03:59:09 +0000
commitb0a532db8adeb909fa2cd8e518ca6917a2d7df0a (patch)
tree2a7e1ab68308aef0755003e9182cdb0502adb349 /otk/timerqueuemanager.hh
parentd4d89ce0bbd3dd0c556a593accb5e48f7ae09d9e (diff)
split the OBTimerQueueManager and TimerQueue into their own files
Diffstat (limited to 'otk/timerqueuemanager.hh')
-rw-r--r--otk/timerqueuemanager.hh45
1 files changed, 45 insertions, 0 deletions
diff --git a/otk/timerqueuemanager.hh b/otk/timerqueuemanager.hh
new file mode 100644
index 00000000..48e15e5b
--- /dev/null
+++ b/otk/timerqueuemanager.hh
@@ -0,0 +1,45 @@
+// -*- mode: C++; indent-tabs-mode: nil; -*-
+#ifndef __timerqueuemanager_hh
+#define __timerqueuemanager_hh
+
+#include "timerqueue.hh"
+
+namespace otk {
+
+//! Manages a queue of OBTimer objects
+/*!
+ All OBTimer objects add themself to an OBTimerQueueManager. The manager is
+ what fires the timers when their time has elapsed. This is done by having the
+ application call the OBTimerQueueManager::fire class in its main event loop.
+*/
+class OBTimerQueueManager {
+private:
+ //! A priority queue of all timers being managed by this class.
+ TimerQueue timerList;
+public:
+ //! Constructs a new OBTimerQueueManager
+ OBTimerQueueManager() {}
+ //! Destroys the OBTimerQueueManager
+ virtual ~OBTimerQueueManager() {}
+
+ //! Will wait for and fire the next timer in the queue.
+ /*!
+ The function will stop waiting if an event is received from the X server.
+ */
+ virtual void fire();
+
+ //! Adds a new timer to the queue
+ /*!
+ @param timer An OBTimer to add to the queue
+ */
+ virtual void addTimer(OBTimer* timer);
+ //! Removes a timer from the queue
+ /*!
+ @param timer An OBTimer already in the queue to remove
+ */
+ virtual void removeTimer(OBTimer* timer);
+};
+
+}
+
+#endif // __timerqueuemanager_hh