ComposedCommand.h

Go to the documentation of this file.
00001 #ifndef __COMPOSED_COMMAND__
00002 #define __COMPOSED_COMMAND__
00003 
00004 
00005 //------------------------------------------------------------------------------------------------------------
00006 // Includes
00007 //------------------------------------------------------------------------------------------------------------
00008 #include <iostream>
00009 #include <deque>
00010 #include "CommandObject.h"
00011 
00012 /*
00013 class CommandObject;
00014 class ExecutableCommand;*/
00015 
00016 class ComposedCommand : public CommandObject{
00017 
00018 //------------------------------------------------------------------------------------------------------------
00019 // Constructors & Destructors
00020 //------------------------------------------------------------------------------------------------------------
00021 public:
00022 
00023         ComposedCommand( );
00024 
00025         virtual ~ComposedCommand( );
00026 //------------------------------------------------------------------------------------------------------------
00027 // Methods
00028 //------------------------------------------------------------------------------------------------------------
00029         
00030         /*
00031         * Adds a command to the list of command
00032         * @param nwCommand Is the new command to include
00033         */
00034         void addCommand(CommandObject * nwCommand);     
00035 
00036         /*
00037         * Includes the command into the given queue for execution
00038         * @param executionQueue Is the queue in which is included the command
00039         */
00040         virtual void includeToExecute(std::deque<CommandObject *> &executionQueue);
00041 
00042         /*
00043         * Counts the command(s)
00044         * @return The value of commands that represents this
00045         */
00046         virtual int count();
00047 
00048         /*
00049         * Method that clears the command
00050         */
00051         virtual void clear();
00052 
00053 //------------------------------------------------------------------------------------------------------------
00054 // Constants
00055 //------------------------------------------------------------------------------------------------------------
00056 
00057 private:        
00058 //------------------------------------------------------------------------------------------------------------
00059 // Attributes
00060 //------------------------------------------------------------------------------------------------------------
00061         
00062         /*
00063         * Represents the internal commands 
00064         */
00065         std::deque< CommandObject *> internalCommands;  
00066         
00067 };
00068 #endif

Generated on Wed Jun 27 23:28:33 2012 for creaContours_lib by  doxygen 1.5.7.1