diff options
author | Chris Wilson <chris+github@qwirx.com> | 2008-08-21 10:59:26 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2008-08-21 10:59:26 +0000 |
commit | 9a18ee94ab13ede233930c59d5d958d94fb5d256 (patch) | |
tree | c3022cdc63ae7037fb2c7b3f2005421f28015b27 /lib/common/Configuration.h | |
parent | c18b8cb248faea94350103cfdb0ede383df801ca (diff) |
Allow constructing Configuration objects from scratch (for Boxi).
Add a separate Verify() method.
Diffstat (limited to 'lib/common/Configuration.h')
-rw-r--r-- | lib/common/Configuration.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/lib/common/Configuration.h b/lib/common/Configuration.h index 80b3614b..2babd753 100644 --- a/lib/common/Configuration.h +++ b/lib/common/Configuration.h @@ -88,9 +88,8 @@ class FdGetLine; // -------------------------------------------------------------------------- class Configuration { -private: - Configuration(const std::string &rName); public: + Configuration(const std::string &rName); Configuration(const Configuration &rToCopy); ~Configuration(); @@ -118,18 +117,28 @@ public: bool SubConfigurationExists(const std::string& rSubName) const; const Configuration &GetSubConfiguration(const std::string& rSubName) const; + Configuration &GetSubConfigurationEditable(const std::string& rSubName); std::vector<std::string> GetSubConfigurationNames() const; + void AddKeyValue(const std::string& rKey, const std::string& rValue); + void AddSubConfig(const std::string& rName, const Configuration& rSubConfig); + + bool Verify(const ConfigurationVerify &rVerify, std::string &rErrorMsg) + { + return Verify(rVerify, std::string(), rErrorMsg); + } + +private: std::string mName; + // Order of keys not preserved + std::map<std::string, std::string> mKeys; // Order of sub blocks preserved typedef std::list<std::pair<std::string, Configuration> > SubConfigListType; SubConfigListType mSubConfigurations; - // Order of keys, not preserved - std::map<std::string, std::string> mKeys; -private: static bool LoadInto(Configuration &rConfig, FdGetLine &rGetLine, std::string &rErrorMsg, bool RootLevel); - static bool Verify(Configuration &rConfig, const ConfigurationVerify &rVerify, const std::string &rLevel, std::string &rErrorMsg); + bool Verify(const ConfigurationVerify &rVerify, const std::string &rLevel, + std::string &rErrorMsg); }; #endif // CONFIGURATION__H |