diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-03-05 20:23:34 -0500 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-03-05 20:23:34 -0500 |
commit | 78025d448d02a6ad89bef252537e2448426d3b9c (patch) | |
tree | 3534ee34f0bdbb0a7b105061d166c6326499dd4b /sigencore | |
parent | 5da77d01c2172bb2f02a1d84d7f617588f6b10f6 (diff) | |
download | sigen-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.cpp | 22 | ||||
-rw-r--r-- | sigencore/plugins/arenas/atb/ActionMap.h | 18 |
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; }; |