]> git.donarmstrong.com Git - mothur.git/blobdiff - command.hpp
working on pca
[mothur.git] / command.hpp
index 6d734e00b5dd1ef8cc3a4239a8c0b10ad18f8acc..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 <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;
+               bool calledHelp;
+       
+               map<string, vector<string> >::iterator itTypes;
 };
 
 #endif