#ifndef COMMANDEXECUTOR_H #define COMMANDEXECUTOR_H #include #include namespace mshconsole{ class CommandExecutor { protected: class ExitException { int code; public: int getCode(){ return code; } ExitException(int c=0) : code(c){} }; public: virtual int executeCmd(std::vector* args) = 0; virtual int executeCmd(const std::string& args) = 0; virtual size_t howManyCmds() const = 0; void exit(int code=0); CommandExecutor(); }; } #endif // COMMANDEXECUTOR_H