]> git.donarmstrong.com Git - mothur.git/blobdiff - engine.hpp
added MPI to dist.seqs command
[mothur.git] / engine.hpp
index a35b616e6cce63d541684e057a76248481af29ca..74687d2398c84a532b0ba6c68e17ed8cff1f7cf0 100644 (file)
 #include "commandoptionparser.hpp"
 #include "command.hpp"
 #include "commandfactory.hpp"
-#include "errorchecking.h"
-
-
-using namespace std;
+#include "mothurout.h"
 
 class GlobalData;
 
 class Engine {
 public:
-       virtual ~Engine(){};
+       Engine(); 
+       virtual ~Engine(){}
        virtual bool getInput() = 0;
-//     string getCommand()                     {       return command;         }
-       vector<string> getOptions() {   return options;         }
+       virtual string getCommand();
+       virtual string getOutputDir()   {       return cFactory->getOutputDir();  }
+       vector<string> getOptions()             {       return options;         }
 protected:
-//     string command;
        vector<string> options;
+       CommandFactory* cFactory;
+       MothurOut* mout;
 };
 
 
 
 class BatchEngine : public Engine {
 public:
-       BatchEngine(string);
+       BatchEngine(string, string);
        ~BatchEngine();
        virtual bool getInput();
        int openedBatch;
@@ -53,7 +53,7 @@ private:
 
 class InteractEngine : public Engine {
 public:
-       InteractEngine();
+       InteractEngine(string);
        ~InteractEngine();
        virtual bool getInput();
 private:
@@ -61,4 +61,18 @@ private:
 };
 
 
+class ScriptEngine : public Engine {
+public:
+       ScriptEngine(string, string);
+       ~ScriptEngine();
+       virtual bool getInput();
+       int openedBatch;
+private:
+       GlobalData* globaldata;
+       string listOfCommands;
+       string getNextCommand(string&);
+
+};
+
+
 #endif