diff options
Diffstat (limited to 'src/app/Queue/queue_mgr.cpp')
-rw-r--r-- | src/app/Queue/queue_mgr.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/app/Queue/queue_mgr.cpp b/src/app/Queue/queue_mgr.cpp new file mode 100644 index 0000000..f7f0b27 --- /dev/null +++ b/src/app/Queue/queue_mgr.cpp @@ -0,0 +1,31 @@ +#include "queue_mgr.h" + +const TQString QueueManager::defaultName="default"; +TQMap<TQString, Queue*> QueueManager::_queues; + +QueueManager::QueueManager() +{ + Queue *defaultQ = new Queue(defaultName); + _queues.insert(defaultQ->name(), defaultQ); +} + +QueueManager::~QueueManager() +{ + TQMap<TQString, Queue*>::iterator it; + for (it = _queues.begin(); it != _queues.end(); ++it ) + delete it.data(); + _queues.clear(); +} + +Queue* QueueManager::queue(const TQString& queueName) +{ + if (!_queues.contains(queueName)) + return 0; + return _queues[queueName]; +} + +TQValueList<TQString> QueueManager::queues() const +{ + return _queues.keys(); +} + |