#ifndef EXECUTABLE_H_ #define EXECUTABLE_H_ #include "CCSource.h" #include "Configuration.h" #include "ProcessUtilities.h" #include "SharedRef.h" #include #include class Component; class Project; class Executable : public Configurable { public: Executable(const std::string& aName); ~Executable(); Executable& add(const SharedPtr File); ProcessController* createNextTask(); const std::string& name() const; void setName(const std::string& s); void setFromParentConfiguration(const Configuration& Parent); unsigned int ccSources() const; SharedPtr getCcSource(unsigned int i); void setExecutableName(const std::string& N); const std::string& executableName() const; void add(SharedPtr aComponent); unsigned int components() const; SharedPtr getComponent(unsigned int i); void configure(); void readSystemConfiguration(); private: bool isFullyDiscovered(); std::string Name, ExecutableName; std::vector > CCFiles; std::vector > UsedLibs; bool Linked; bool DiscoveryChecked; bool FullyDiscovered; }; #endif