22#ifndef COMMON_CONFIG_MANAGER_H
23#define COMMON_CONFIG_MANAGER_H
25#include "common/array.h"
26#include "common/hashmap.h"
27#include "common/path.h"
28#include "common/singleton.h"
29#include "common/str.h"
30#include "common/hash-str.h"
45class SeekableReadStream;
66 typedef StringMap::const_iterator const_iterator;
67 const_iterator
begin()
const {
return _entries.begin(); }
68 const_iterator
end()
const {
return _entries.end(); }
93 const String &getValOrDefault(
const String &key)
const {
return _entries.getValOrDefault(key); }
126 static char const *
const kCloudDomain;
236 bool loadFallbackConfigFile(
const Path &filename);
238 void addDomain(
const String &domainName,
const Domain &domain);
269#define ConfMan Common::ConfigManager::instance()
Definition: config-manager.h:59
const String & getDomainComment() const
const_iterator end() const
Definition: config-manager.h:68
void erase(const String &key)
Definition: config-manager.h:97
bool hasKVComment(const String &key) const
const String & getKVComment(const String &key) const
void setVal(const String &key, const String &value)
Definition: config-manager.h:79
bool tryGetVal(const String &key, String &out) const
Definition: config-manager.h:92
void clear()
Definition: config-manager.h:95
bool contains(const String &key) const
Definition: config-manager.h:72
void setDomainComment(const String &comment)
String & getOrCreateVal(const String &key)
Definition: config-manager.h:84
const String & getVal(const String &key) const
Definition: config-manager.h:86
String & getVal(const String &key)
Definition: config-manager.h:85
const_iterator begin() const
Definition: config-manager.h:67
const String & operator[](const String &key) const
Definition: config-manager.h:77
bool empty() const
Definition: config-manager.h:70
void setKVComment(const String &key, const String &comment)
Definition: config-manager.h:55
bool hasDefault(const String &key) const
Path getPath(const String &key, const String &domName=String()) const
void renameGameDomain(const String &oldName, const String &newName)
bool getBool(const String &key, const String &domName=String()) const
void renameMiscDomain(const String &oldName, const String &newName)
void registerDefault(const String &key, const String &value)
void registerDefault(const String &key, const Path &value)
void setInt(const String &key, int value, const String &domName=String())
void registerDefault(const String &key, const char *value)
const String & getActiveDomainName() const
Definition: config-manager.h:208
Domain * getActiveDomain()
Definition: config-manager.h:206
DomainMap::iterator endGameDomains()
Definition: config-manager.h:225
void setBool(const String &key, bool value, const String &domName=String())
float getFloat(const String &key, const String &domName=String()) const
const String & get(const String &key, const String &domName) const
void addMiscDomain(const String &domName)
void setPath(const String &key, const Path &value, const String &domName=String())
bool isKeyTemporary(const String &key) const
int getInt(const String &key, const String &domName=String()) const
Domain * getDomain(const String &domName)
bool hasGameDomain(const String &domName) const
void registerDefault(const String &key, bool value)
bool loadConfigFile(const Path &filename, const Path &fallbackFilename)
void registerDefault(const String &key, int value)
HashMap< String, Domain, IgnoreCase_Hash, IgnoreCase_EqualTo > DomainMap
Definition: config-manager.h:108
void setActiveDomain(const String &domName)
void removeGameDomain(const String &domName)
void removeKey(const String &key, const String &domName)
static char const *const kSessionDomain
Definition: config-manager.h:122
void set(const String &key, const String &value, const String &domName)
static char const *const kKeymapperDomain
Definition: config-manager.h:117
bool hasMiscDomain(const String &domName) const
bool loadDefaultConfigFile(const Path &fallbackFilename)
void setAndFlush(const String &key, const Common::String &value)
bool hasKey(const String &key) const
static char const *const kTransientDomain
Definition: config-manager.h:114
const Domain * getActiveDomain() const
Definition: config-manager.h:207
const String & get(const String &key) const
DomainMap::iterator beginGameDomains()
Definition: config-manager.h:224
void setFloat(const String &key, float value, const String &domName=String())
const Domain * getDomain(const String &domName) const
const Path & getCustomConfigFileName()
Definition: config-manager.h:227
void copyFrom(ConfigManager &source)
void addGameDomain(const String &domName)
static char const *const kApplicationDomain
Definition: config-manager.h:111
const DomainMap & getGameDomains() const
Definition: config-manager.h:223
void removeMiscDomain(const String &domName)
bool hasKey(const String &key, const String &domName) const
void set(const String &key, const String &value)
bool empty() const
Definition: hashmap.h:303
Definition: singleton.h:42
bool tryGetVal(const Key &key, Val &out) const
Definition: hashmap.h:692
void erase(iterator entry)
Definition: hashmap.h:714
bool contains(const Key &key) const
Definition: hashmap.h:598
Val & getVal(const Key &key)
Definition: hashmap.h:637
Val & getOrCreateVal(const Key &key)
Definition: hashmap.h:626
void clear(bool shrinkArray=0)
Definition: hashmap.h:431
Definition: algorithm.h:29