00001 #ifndef __ICOMMANDS_USER__ 00002 #define __ICOMMANDS_USER__ 00003 00004 00005 //------------------------------------------------------------------------------------------------------------ 00006 // Includes 00007 //------------------------------------------------------------------------------------------------------------ 00008 00009 #include <iostream> 00010 #include <deque> 00011 #include "CommandObject.h" 00012 00013 class ICommandsUser{ 00014 00015 //------------------------------------------------------------------------------------------------------------ 00016 // Constructors & Destructors 00017 //------------------------------------------------------------------------------------------------------------ 00018 public: 00019 virtual ~ICommandsUser() {}; 00020 00021 00022 //------------------------------------------------------------------------------------------------------------ 00023 // Methods 00024 //------------------------------------------------------------------------------------------------------------ 00025 00026 00027 /* 00028 * Executes a command by resending the received parameters to its parent to do the appropiate interpretation and execution. 00029 * @param theCommand Is the command to execute 00030 * @param fromRegistration Indicates if the execution is directed from the registration, by default comes from the GUI = false. 00031 */ 00032 virtual bool executeCommand(CommandObject * theCommand, bool fromRegistration=false) = 0; 00033 00034 /* 00035 * Executes a command queue by resending the received parameters to its parent to do the appropiate interpretation and execution. 00036 * @param executionQueue Is the command queue to execute 00037 * @param fromRegistration Indicates if the execution is directed from the registration, by default comes from the GUI = false. 00038 */ 00039 virtual bool executeCommandsQueue(std::deque<CommandObject *> & executionQueue, bool fromRegistration) = 0; 00040 00041 00042 }; 00043 #endif 00044