]> git.donarmstrong.com Git - mothur.git/blobdiff - command.hpp
added citation function to commands
[mothur.git] / command.hpp
index 27355dddd933834108371d18cf66c27c4a29763b..6a1a4deea6c1df252a627fa827bb33a8f49b439c 100644 (file)
 #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 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->mothurOut(getCitation()); }
+               virtual ~Command() { }
+       
+       protected:
+               MothurOut* m;
+               bool calledHelp;
+                       
+               map<string, vector<string> > outputTypes;
+               vector<CommandParameter> parameters;
+       
+               map<string, vector<string> >::iterator itTypes;
 };
 
 #endif