00001 #ifndef __EXECUTABLE_COMMAND__ 00002 #define __EXECUTABLE_COMMAND__ 00003 00004 00005 00006 //------------------------------------------------------------------------------------------------------------ 00007 // Includes 00008 //------------------------------------------------------------------------------------------------------------ 00009 #include <iostream> 00010 #include "CommandObject.h" 00011 00012 class ExecutableCommand : public CommandObject{ 00013 00014 //------------------------------------------------------------------------------------------------------------ 00015 // Constructors & Destructors 00016 //------------------------------------------------------------------------------------------------------------ 00017 public: 00018 00019 /* 00020 * Creates a command (executable) with the given text 00021 * @param aText Is the text to assign to the command 00022 * @return Returns the created ExecutableCommand pointer 00023 */ 00024 ExecutableCommand(std::string aText ); 00025 00026 /* 00027 * Destroys the command 00028 */ 00029 virtual ~ExecutableCommand( ); 00030 //------------------------------------------------------------------------------------------------------------ 00031 // Methods 00032 //------------------------------------------------------------------------------------------------------------ 00033 00034 00035 /* 00036 * Gets the text of the command 00037 * @return text Is the text of the command 00038 */ 00039 std::string getText(); 00040 00041 /* 00042 * Sets the text of the command 00043 * @param theText Is the text of the command 00044 */ 00045 void setText(std::string theText); 00046 00047 /* 00048 * Includes the command into the given queue for execution 00049 * @param executionQueue Is the queue in which is included the command 00050 */ 00051 virtual void includeToExecute(std::deque<CommandObject * > & executionQueue); 00052 00053 /* 00054 * Counts the command(s) 00055 * @return The value of commands that represents this 00056 */ 00057 virtual int count(); 00058 00059 /* 00060 * Method that clears the command 00061 */ 00062 virtual void clear(); 00063 00064 //------------------------------------------------------------------------------------------------------------ 00065 // Constants 00066 //------------------------------------------------------------------------------------------------------------ 00067 00068 private: 00069 //------------------------------------------------------------------------------------------------------------ 00070 // Attributes 00071 //------------------------------------------------------------------------------------------------------------ 00072 00073 /* 00074 * Represents the text of the command 00075 */ 00076 std::string text; 00077 00078 }; 00079 #endif