#ifndef GENERATOR_H_ #define GENERATOR_H_ #include "Configuration.h" #include "Feedback.h" #include "ProcessUtilities.h" #include #include class Generator : public Configurable, public ProcessController, public LoudMouth { public: Generator(const std::vector& Template); Generator(const Generator& other); virtual void finished(int ret); virtual void standardOutput(const std::string& aString); virtual void standardError(const std::string& aString); virtual void failed(); void addInput(const std::string& anInput); void setOutput(const std::string& anOutput); const std::string& output() const; Generator* copy() const; virtual ProcessController* createNextTask(); bool ready(); private: void checkState(); std::vector Template, Input; std::string Output; enum { Unchecked, Building, Failed, Succeeded } State; }; #endif