diff options
Diffstat (limited to 'sigencore/plugins/arenas/atb/ActionQueue.h')
-rw-r--r-- | sigencore/plugins/arenas/atb/ActionQueue.h | 54 |
1 files changed, 12 insertions, 42 deletions
diff --git a/sigencore/plugins/arenas/atb/ActionQueue.h b/sigencore/plugins/arenas/atb/ActionQueue.h index fc3a8232..1741795a 100644 --- a/sigencore/plugins/arenas/atb/ActionQueue.h +++ b/sigencore/plugins/arenas/atb/ActionQueue.h @@ -1,5 +1,5 @@ /* - * Copyright 2008 Ben Boeckel <MathStuf@gmail.com> + * Copyright 2008-2009 Ben Boeckel <MathStuf@gmail.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,57 +15,27 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef SIGBATTLE_ACTIONQUEUE -#define SIGBATTLE_ACTIONQUEUE +#ifndef SIGENARENAS_ACTIONQUEUE +#define SIGENARENAS_ACTIONQUEUE -// Sigbattle includes -#include "Global.h" -#include "TeamMember.h" +// Sigencore includes +#include <sigencore/TeamMember.h> // Qt includes -#include <QtCore/QMutex> -#include <QtCore/QMutexLocker> #include <QtCore/QQueue> +#include <QtCore/QReadWriteLock> -namespace Sigbattle -{ -class SIGBATTLE_EXPORT ActionQueue +class ActionQueue { public: - TeamMember::RequestedAction dequeue(); - void enqueue(const TeamMember::RequestedAction& action); - TeamMember::RequestedAction& head(); + Sigencore::TeamMember::RequestedAction dequeue(); + void enqueue(const Sigencore::TeamMember::RequestedAction& action); + Sigencore::TeamMember::RequestedAction& head(); bool isEmpty(); private: - QQueue<TeamMember::RequestedAction> m_queue; - QMutex m_mutex; + QQueue<Sigencore::TeamMember::RequestedAction> m_queue; + mutable QReadWriteLock m_mutex; }; -inline TeamMember::RequestedAction ActionQueue::dequeue() -{ - QMutexLocker locker(&m_mutex); - return m_queue.dequeue(); -} - -inline void ActionQueue::enqueue(const TeamMember::RequestedAction& action) -{ - QMutexLocker locker(&m_mutex); - m_queue.enqueue(action); -} - -inline TeamMember::RequestedAction& ActionQueue::head() -{ - QMutexLocker locker(&m_mutex); - return m_queue.head(); -} - -inline bool ActionQueue::isEmpty() -{ - QMutexLocker locker(&m_mutex); - return m_queue.isEmpty(); -} - -} - #endif |