#include "mothur.h"
-#include "globaldata.hpp"
#include "commandoptionparser.hpp"
#include "command.hpp"
#include "commandfactory.hpp"
-
-class GlobalData;
+#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;
+ string findMothursPath();
};
virtual bool getInput();
int openedBatch;
private:
- GlobalData* globaldata;
ifstream inputBatchFile;
+ string getNextCommand(ifstream&);
};
~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&);
+
};