diff options
author | Johannes Schickel | 2013-08-08 03:14:23 +0200 |
---|---|---|
committer | Johannes Schickel | 2013-08-08 03:14:23 +0200 |
commit | 774d53045dd92ec36f6a6c13eb9771ea3eb5c491 (patch) | |
tree | 5939a866dacc14cb37be18c3e9f06fd4d66751f8 | |
parent | 11eb168582a8a580bbed0e55e594bded201e39e4 (diff) | |
download | scummvm-rg350-774d53045dd92ec36f6a6c13eb9771ea3eb5c491.tar.gz scummvm-rg350-774d53045dd92ec36f6a6c13eb9771ea3eb5c491.tar.bz2 scummvm-rg350-774d53045dd92ec36f6a6c13eb9771ea3eb5c491.zip |
COMMON: Do not let ConfigManager::Domain inherit from StringMap.
Instead we provide wrapper functionality now. Intuitively a Domain is not a
simple StringMap.
-rw-r--r-- | common/config-manager.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/common/config-manager.h b/common/config-manager.h index d43a7bec51..d79f647fe3 100644 --- a/common/config-manager.h +++ b/common/config-manager.h @@ -47,12 +47,31 @@ class ConfigManager : public Singleton<ConfigManager> { public: - class Domain : public StringMap { + class Domain { private: + StringMap _entries; StringMap _keyValueComments; String _domainComment; public: + typedef StringMap::const_iterator const_iterator; + const_iterator begin() const { return _entries.begin(); } + const_iterator end() const { return _entries.end(); } + + bool empty() const { return _entries.empty(); } + + bool contains(const String &key) const { return _entries.contains(key); } + + String &operator[](const String &key) { return _entries[key]; } + const String &operator[](const String &key) const { return _entries[key]; } + + String &getVal(const String &key) { return _entries.getVal(key); } + const String &getVal(const String &key) const { return _entries.getVal(key); } + + void clear() { _entries.clear(); } + + void erase(const String &key) { _entries.erase(key); } + void setDomainComment(const String &comment); const String &getDomainComment() const; |