#include "shell.h" namespace mshconsole { Command::Command(const string& n, int (*funcptr)(const vector* args, CommandExecutor*)) : name(n) , funcCommand(funcptr){ checkObj(); numCom++; } int Command::execute(const vector* args, CommandExecutor* ciao){ if(args==nullptr) return -1; return (*funcCommand)(args, ciao); } string Command::getName(){ return this->name; } Command::Command(const Command& old) : name(old.name) , funcCommand(old.funcCommand){ checkObj(); numCom++; } void Command::checkObj(){ for(unsigned int i=0; i'a'&&name[i]<'z')||(name[i]>'A'&&name[i]<'Z'))){ throw CommandNameNotValidException(); } } } Command::~Command(){ numCom--; } unsigned int Command::numCom = 0; }