]> git.donarmstrong.com Git - mothur.git/blobdiff - engine.hpp
sffinfo bug with flow grams right index when clipQualRight=0
[mothur.git] / engine.hpp
index 7990d1790586b5980fb31ada11f85b540572858f..460e245bf5312d81f5b15d70387cf9ec63d472f6 100644 (file)
  
 
 
-#include <vector>
-#include <set>
-#include <string>
-
-using namespace std;
-
-class GlobalData;
+#include "mothur.h"
+#include "commandoptionparser.hpp"
+#include "command.hpp"
+#include "commandfactory.hpp"
+#include "mothurout.h"
 
 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();        }
+       virtual string getLogFileName()                 {       return cFactory->getLogfileName();      }
+       virtual bool getAppend()                                {       return cFactory->getAppend();           }
+
+       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;
 private:
-       GlobalData* globaldata;
        ifstream inputBatchFile;
+       string getNextCommand(ifstream&);
 
 };
 
@@ -49,11 +53,24 @@ private:
 
 class InteractEngine : public Engine {
 public:
-       InteractEngine();
+       InteractEngine(string);
        ~InteractEngine();
        virtual bool getInput();
 private:
-       GlobalData* globaldata;
+       
+};
+
+
+class ScriptEngine : public Engine {
+public:
+       ScriptEngine(string, string);
+       ~ScriptEngine();
+       virtual bool getInput();
+       int openedBatch;
+private:
+       string listOfCommands;
+       string getNextCommand(string&);
+
 };