#ifndef PROJECT_H_ #define PROJECT_H_ #include "Configuration.h" #include "Executable.h" #include "SystemConfiguration.h" #include #include class Project : public Configurable { public: Project(int argc, char** argv); void run(); const SystemConfiguration& systemConfiguration() const; SystemConfiguration& systemConfiguration(); Project& add(const SharedPtr& E); ProcessController* createNextTask(); void error(const std::string& Error) const; private: void configure(); void readProjectFile(bool DiscoveryMode); void readSystemConfiguration(bool OnlyFromCache); std::string ProjectFile; std::vector > Executables; bool DiscoverMode; SystemConfiguration System; public: static Project& it(); }; #endif