summaryrefslogtreecommitdiffstats
path: root/sigencore
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-05 20:23:34 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-03-05 20:23:34 -0500
commit78025d448d02a6ad89bef252537e2448426d3b9c (patch)
tree3534ee34f0bdbb0a7b105061d166c6326499dd4b /sigencore
parent5da77d01c2172bb2f02a1d84d7f617588f6b10f6 (diff)
downloadsigen-78025d448d02a6ad89bef252537e2448426d3b9c.tar.gz
sigen-78025d448d02a6ad89bef252537e2448426d3b9c.tar.xz
sigen-78025d448d02a6ad89bef252537e2448426d3b9c.zip
Convert ActionQueue into ActionMap
Diffstat (limited to 'sigencore')
-rw-r--r--sigencore/plugins/arenas/atb/ActionMap.cpp22
-rw-r--r--sigencore/plugins/arenas/atb/ActionMap.h18
2 files changed, 20 insertions, 20 deletions
diff --git a/sigencore/plugins/arenas/atb/ActionMap.cpp b/sigencore/plugins/arenas/atb/ActionMap.cpp
index 36b38a2f..31d7e804 100644
--- a/sigencore/plugins/arenas/atb/ActionMap.cpp
+++ b/sigencore/plugins/arenas/atb/ActionMap.cpp
@@ -16,7 +16,7 @@
*/
// Header include
-#include "ActionQueue.h"
+#include "ActionMap.h"
// Qt includes
#include <QtCore/QReadLocker>
@@ -24,26 +24,26 @@
using namespace Sigencore;
-TeamMember::RequestedAction ActionQueue::dequeue()
+bool ActionMap::contains(TeamMember* teamMember)
{
- QWriteLocker locker(&m_mutex);
- return m_queue.dequeue();
+ QReadLocker locker(&m_mutex);
+ return m_map.contains(teamMember);
}
-void ActionQueue::enqueue(const TeamMember::RequestedAction& action)
+int ActionMap::remove(TeamMember* teamMember)
{
QWriteLocker locker(&m_mutex);
- m_queue.enqueue(action);
+ return m_map.remove(teamMember);
}
-const TeamMember::RequestedAction& ActionQueue::head() const
+const TeamMember::RequestedAction ActionMap::operator[](TeamMember* teamMember) const
{
QReadLocker locker(&m_mutex);
- return m_queue.head();
+ return m_map[teamMember];
}
-bool ActionQueue::isEmpty() const
+TeamMember::RequestedAction& ActionMap::operator[](TeamMember* teamMember)
{
- QReadLocker locker(&m_mutex);
- return m_queue.isEmpty();
+ QWriteLocker locker(&m_mutex);
+ return m_map[teamMember];
}
diff --git a/sigencore/plugins/arenas/atb/ActionMap.h b/sigencore/plugins/arenas/atb/ActionMap.h
index 5b6a615f..3178f185 100644
--- a/sigencore/plugins/arenas/atb/ActionMap.h
+++ b/sigencore/plugins/arenas/atb/ActionMap.h
@@ -15,26 +15,26 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef SIGENARENAS_ACTIONQUEUE
-#define SIGENARENAS_ACTIONQUEUE
+#ifndef SIGENARENAS_ACTIONMAP
+#define SIGENARENAS_ACTIONMAP
// Sigencore includes
#include <sigencore/TeamMember.h>
// Qt includes
-#include <QtCore/QQueue>
+#include <QtCore/QMap>
#include <QtCore/QReadWriteLock>
-class ActionQueue
+class ActionMap
{
public:
- Sigencore::TeamMember::RequestedAction dequeue();
- void enqueue(const Sigencore::TeamMember::RequestedAction& action);
- const Sigencore::TeamMember::RequestedAction& head() const;
+ bool contains(Sigencore::TeamMember* teamMember);
+ int remove(Sigencore::TeamMember* teamMember);
- bool isEmpty() const;
+ const Sigencore::TeamMember::RequestedAction operator[](Sigencore::TeamMember* teamMember) const;
+ Sigencore::TeamMember::RequestedAction& operator[](Sigencore::TeamMember* teamMember);
private:
- QQueue<Sigencore::TeamMember::RequestedAction> m_queue;
+ QMap<Sigencore::TeamMember*, Sigencore::TeamMember::RequestedAction> m_map;
mutable QReadWriteLock m_mutex;
};