aboutsummaryrefslogtreecommitdiff
path: root/common/config-manager.h
diff options
context:
space:
mode:
authorJohannes Schickel2013-08-08 03:14:23 +0200
committerJohannes Schickel2013-08-08 03:14:23 +0200
commit774d53045dd92ec36f6a6c13eb9771ea3eb5c491 (patch)
tree5939a866dacc14cb37be18c3e9f06fd4d66751f8 /common/config-manager.h
parent11eb168582a8a580bbed0e55e594bded201e39e4 (diff)
downloadscummvm-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.
Diffstat (limited to 'common/config-manager.h')
-rw-r--r--common/config-manager.h21
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;