12 #ifndef hifi_HifiConfigVariantMap_h
13 #define hifi_HifiConfigVariantMap_h
15 #include <QtCore/QStringList>
16 #include <QtCore/QVariantMap>
18 QVariant* valueForKeyPath(QVariantMap& variantMap,
const QString& keyPath,
bool shouldCreateIfMissing =
false);
20 class HifiConfigVariantMap {
22 static QVariantMap mergeCLParametersWithJSONConfig(
const QStringList& argumentList);
26 const QVariant value(
const QString& key)
const {
return _userConfig.value(key); }
27 QVariant* valueForKeyPath(
const QString& keyPath,
bool shouldCreateIfMissing =
false)
28 { return ::valueForKeyPath(_userConfig, keyPath, shouldCreateIfMissing); }
30 QVariantMap& getConfig() {
return _userConfig; }
32 const QString& getUserConfigFilename()
const {
return _userConfigFilename; }
33 void setUserConfigFilename(
const QString& filename) { _userConfigFilename = filename; }
35 QString _userConfigFilename;
37 QVariantMap _userConfig;
39 void loadMapFromJSONFile(QVariantMap& existingMap,
const QString& filename);
40 void addMissingValuesToExistingMap(QVariantMap& existingMap,
const QVariantMap& newMap);