X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=engine.hpp;h=0020a7f8d9d83a24b5b24c60fb0f86263edd5e44;hb=84f93a9e670eb7f7e69e0468b9be4c53890c07f2;hp=c04cd4ed69306116f7eb72e64bf5fd2e01d92015;hpb=bfbc55964f1977da72c2cea984288a427d370a59;p=mothur.git diff --git a/engine.hpp b/engine.hpp index c04cd4e..0020a7f 100644 --- a/engine.hpp +++ b/engine.hpp @@ -13,27 +13,36 @@ #include "mothur.h" - -using namespace std; +#include "globaldata.hpp" +#include "commandoptionparser.hpp" +#include "command.hpp" +#include "commandfactory.hpp" +#include "mothurout.h" class GlobalData; class Engine { public: - virtual ~Engine(){}; + Engine(); + virtual ~Engine(){} virtual bool getInput() = 0; -// string getCommand() { return command; } - vector 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 getOptions() { return options; } protected: -// string command; vector options; + CommandFactory* cFactory; + MothurOut* mout; }; class BatchEngine : public Engine { public: - BatchEngine(string); + BatchEngine(string, string); ~BatchEngine(); virtual bool getInput(); int openedBatch; @@ -47,7 +56,7 @@ private: class InteractEngine : public Engine { public: - InteractEngine(); + InteractEngine(string); ~InteractEngine(); virtual bool getInput(); private: @@ -55,4 +64,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