]> git.donarmstrong.com Git - mothur.git/blobdiff - command.hpp
added otu.association command. added calcSpearman, calcKendall and calcPearson functi...
[mothur.git] / command.hpp
index f65f6cc0fb14ab1d892dbcc5df567c086ca183c9..04285feff832088547c64a0f43da9c70dd7b1db5 100644 (file)
 #include "optionparser.h"
 #include "validparameter.h"
 #include "mothurout.h"
+#include "commandparameter.h"
+
 
 class Command {
        
        public:
-               Command() {  m = MothurOut::getInstance();   }
-               virtual vector<string> getValidParameters() = 0;
-               virtual vector<string> getRequiredParameters() = 0; //adding "or" as the last element indicates one of the previous is needed
-               virtual vector<string> getRequiredFiles() = 0; //adding "or" as the last element indicates one of the previous is needed
-               virtual map<string, vector<string> > 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<string, vector<string> > getOutputFiles() { return outputTypes; }
+               virtual vector<string> setParameters() = 0; //to fill parameters
+               virtual vector<CommandParameter> 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<string, vector<string> > outputTypes;
+               vector<CommandParameter> parameters;
        
                map<string, vector<string> >::iterator itTypes;
 };