00001 #ifndef HEADER_COMMANDQUEUE_H
00002 #define HEADER_COMMANDQUEUE_H
00003
00004 class Command;
00005
00006 #include "NoCopy.h"
00007
00008 #include <deque>
00009
00010
00011
00012
00013 class CommandQueue : public NoCopy {
00014 private:
00015 typedef std::deque<Command*> t_commands;
00016 t_commands m_commands;
00017 int m_count;
00018 public:
00019 CommandQueue();
00020 virtual ~CommandQueue();
00021
00022 void planCommand(Command *new_command);
00023 bool executeFirst();
00024 void removeAll();
00025 bool empty() const { return m_commands.empty(); }
00026 };
00027
00028 #endif