#ifndef CCSOURCE_H_ #define CCSOURCE_H_ #include "Configuration.h" #include "Generator.h" #include "SharedRef.h" #include #include class ProcessController; class CCSource : public Configurable { public: CCSource(const std::string& Name); virtual ~CCSource(); void compilationFinished(bool Correctly); std::string name() const; void setName(const std::string& N); std::string sourceName() const; std::string dependencyName() const; void setDependencyName(const std::string& n); std::string objectName() const; void setObjectName(const std::string& n); virtual ProcessController* createNextTask(); bool objectFileIsCorrect(); private: std::string Name; std::string ObjectName; std::string DependencyName; bool ConsideredCompiling; bool CompiledCorrectly; }; class GeneratedCCSource : public CCSource { public: GeneratedCCSource(SharedPtr aGen); virtual ProcessController* createNextTask(); private: SharedPtr theGenerator; }; #endif