Command.h 626 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. using namespace Atomic;
  4. namespace ToolCore
  5. {
  6. EVENT(E_COMMANDERROR, CommandError)
  7. {
  8. PARAM(P_MESSAGE, Message); // string
  9. }
  10. EVENT(E_COMMANDFINISHED, CommandFinished)
  11. {
  12. }
  13. class Command : public Object
  14. {
  15. OBJECT(Command);
  16. public:
  17. Command(Context* context);
  18. virtual ~Command();
  19. virtual bool Parse(const Vector<String>& arguments, unsigned startIndex, String& errorMsg) = 0;
  20. virtual void Run() = 0;
  21. virtual void Finished();
  22. virtual void Error(const String& errorMsg);
  23. virtual void Cancel() {}
  24. private:
  25. float timeOut_;
  26. };
  27. }