]> git.donarmstrong.com Git - mothur.git/blobdiff - command.hpp
fixed catchall "clunky" names
[mothur.git] / command.hpp
index e418de83e772dd824d83a6989ba51e1a92b60e06..93669ba7babe40f9b5889e953bf943d362cd7bbe 100644 (file)
  *
  */
 
-/*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.  */
 
-using namespace std;
 
 #include "mothur.h"
+#include "optionparser.h"
+#include "validparameter.h"
+#include "mothurout.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
                virtual int execute() = 0;
+               virtual void help() = 0;
+               virtual ~Command() { }
+       protected:
+               MothurOut* m;
+               bool calledHelp;
+       
+               map<string, vector<string> >::iterator itTypes;
 };
 
 #endif