X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=command.hpp;h=04285feff832088547c64a0f43da9c70dd7b1db5;hb=2bb9267aa4b4ecdf8488b06605cc9f3f36fa4332;hp=3e655abb19ed35729792e3f5783f119095c6fc61;hpb=0470f6d037aacb3563c3f7010708120a4a67d4e6;p=mothur.git diff --git a/command.hpp b/command.hpp index 3e655ab..04285fe 100644 --- a/command.hpp +++ b/command.hpp @@ -10,17 +10,45 @@ * */ -/*This class is a parent to all the command classes. It has one pure int execute(). */ +/*This class is a parent to all the command classes. */ #include "mothur.h" #include "optionparser.h" #include "validparameter.h" +#include "mothurout.h" +#include "commandparameter.h" + class Command { + public: + Command() { m = MothurOut::getInstance(); } + + //needed by gui + virtual string getCommandName() = 0; + virtual string getCommandCategory() = 0; + virtual string getHelpString() = 0; + virtual string getCitation() = 0; + virtual string getDescription() = 0; + + virtual map > getOutputFiles() { return outputTypes; } + virtual vector setParameters() = 0; //to fill parameters + virtual vector getParameters() { return parameters; } + virtual int execute() = 0; virtual void help() = 0; + void citation() { m->mothurOutEndLine(); m->mothurOut(getCitation()); m->mothurOutEndLine(); } + virtual ~Command() { } + + protected: + MothurOut* m; + bool calledHelp; + + map > outputTypes; + vector parameters; + + map >::iterator itTypes; }; #endif