X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=command.hpp;h=04285feff832088547c64a0f43da9c70dd7b1db5;hb=8dd3c225255d7084e3aff8740aa4f1f1cabb367a;hp=2d1981aa4cca8d7e608e3708750fc079600d1265;hpb=f6c7165727bc17a5fbbcbb774d75ccffeb7f3da5;p=mothur.git diff --git a/command.hpp b/command.hpp index 2d1981a..04285fe 100644 --- a/command.hpp +++ b/command.hpp @@ -17,23 +17,36 @@ #include "optionparser.h" #include "validparameter.h" #include "mothurout.h" -#include "currentfile.h" +#include "commandparameter.h" + class Command { public: - Command() { m = MothurOut::getInstance(); currentFiles = CurrentFile::getInstance(); } - virtual vector getValidParameters() = 0; - virtual vector getRequiredParameters() = 0; //adding "or" as the last element indicates one of the previous is needed - virtual vector getRequiredFiles() = 0; //adding "or" as the last element indicates one of the previous is needed - virtual map > getOutputFiles() = 0; //file type to names + 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; - CurrentFile* currentFiles; bool calledHelp; + + map > outputTypes; + vector parameters; map >::iterator itTypes; };