summaryrefslogtreecommitdiffstats
path: root/sigencore/plugins/arenas/atb/ActionQueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'sigencore/plugins/arenas/atb/ActionQueue.h')
-rw-r--r--sigencore/plugins/arenas/atb/ActionQueue.h54
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