msh-console/msh-console-library/commandexecutor.h

27 lines
639 B
C++

#ifndef COMMANDEXECUTOR_H
#define COMMANDEXECUTOR_H
#include <vector>
#include <string>
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<std::string>* 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