]> git.donarmstrong.com Git - mothur.git/blobdiff - command.hpp
modified shhhercommand to make buildable with windows
[mothur.git] / command.hpp
index 6d734e00b5dd1ef8cc3a4239a8c0b10ad18f8acc..97701aa0017ccaf821546f06e40df41cad6233e5 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 <iostream>
-#include <fstream>
 
+#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;
 };
 
 #endif