#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(); }
+ 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&);
};
class InteractEngine : public Engine {
public:
- InteractEngine();
+ InteractEngine(string);
~InteractEngine();
virtual bool getInput();
private:
};
+class ScriptEngine : public Engine {
+public:
+ ScriptEngine(string, string);
+ ~ScriptEngine();
+ virtual bool getInput();
+ int openedBatch;
+private:
+ GlobalData* globaldata;
+ string listOfCommands;
+ string getNextCommand(string&);
+
+};
+
+
#endif