diff options
| author | 2010-08-02 13:49:36 +0200 | |
|---|---|---|
| committer | 2010-08-02 13:49:36 +0200 | |
| commit | d90be370d52c78f54d6e0f2e0020c95a7a158bd3 (patch) | |
| tree | 058573ab5f7f5d09f63f3867392937f16af21f76 | |
| parent | Recapitulate the number of errors during parsing (diff) | |
| download | bldit-d90be370d52c78f54d6e0f2e0020c95a7a158bd3.tar.xz bldit-d90be370d52c78f54d6e0f2e0020c95a7a158bd3.zip | |
Better error reporting for missing libraries
| -rw-r--r-- | Component.cc | 16 | ||||
| -rw-r--r-- | Component.h | 4 |
2 files changed, 18 insertions, 2 deletions
diff --git a/Component.cc b/Component.cc index 7b8ab81..9bb26bf 100644 --- a/Component.cc +++ b/Component.cc @@ -124,7 +124,11 @@ SharedPtr<ConfiguredComponent> Component::configuredFor(const Configurable& UseI else Instances.push_back(Result); writeSystemConfiguration(Result, UseIn); - if (Failed) return SharedPtr<ConfiguredComponent>(); + if (Failed) + { + std::cout << "Missing configuration of " << userName() << " for use in " << UseIn.configuration().partName() << std::endl; + return SharedPtr<ConfiguredComponent>(); + } return Result; } @@ -195,6 +199,11 @@ const std::string& HeaderOnlyComponent::name() const return Name; } +const std::string& HeaderOnlyComponent::userName() const +{ + return Name; +} + /* LINKCOMPONENT */ LinkComponent::LinkComponent(const std::string& Name, const std::string& aStem) @@ -202,6 +211,11 @@ LinkComponent::LinkComponent(const std::string& Name, const std::string& aStem) { } +const std::string& LinkComponent::userName() const +{ + return Stem; +} + const std::string& LinkComponent::stem() const { return Stem; diff --git a/Component.h b/Component.h index 9109a86..7ed683d 100644 --- a/Component.h +++ b/Component.h @@ -35,7 +35,7 @@ class Component public: virtual ~Component() = 0; - + virtual const std::string& userName() const = 0; virtual SharedPtr<ConfiguredComponent> configuredFor(const Configurable& UseIn); private: @@ -56,6 +56,7 @@ class HeaderOnlyComponent : public Component void addHeader(const std::string& H); const std::string& name() const; + virtual const std::string& userName() const; protected: virtual SharedPtr<ConfiguredComponent> discoverFor(const Configurable& UseIn); @@ -78,6 +79,7 @@ class LinkComponent : public HeaderOnlyComponent LinkComponent(const std::string& Name, const std::string& Stem); const std::string& stem() const; + virtual const std::string& userName() const; protected: virtual SharedPtr<ConfiguredComponent> readFromSystemConfiguration(const Configurable& UseIn); |
