diff options
author | Bart Vanhauwaert <bart@grafitroniks.fr> | 2010-08-02 13:49:36 +0200 |
---|---|---|
committer | Bart Vanhauwaert <bart@grafitroniks.fr> | 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); |