11 #include "SettingDefinitions.h" 12 #include "utils/BooleanLogic.h" 22 using SettingConditionCheck = bool (*)(
const std::string& condition,
23 const std::string& value,
24 const std::shared_ptr<const CSetting>& setting,
31 : m_settingsManager(settingsManager)
35 virtual bool Check()
const = 0;
49 bool Deserialize(
const TiXmlNode *node)
override;
50 const char* GetTag()
const override {
return SETTING_XML_ELM_CONDITION; }
51 bool Check()
const override;
55 std::string m_setting;
66 bool Check()
const override;
79 bool Check()
const override;
90 void AddCondition(std::string condition);
91 void AddDynamicCondition(std::string identifier, SettingConditionCheck condition,
void *data =
nullptr);
92 void RemoveDynamicCondition(std::string identifier);
95 std::string condition,
96 const std::string& value =
"",
97 const std::shared_ptr<const CSetting>& setting = std::shared_ptr<const CSetting>())
const;
100 using SettingConditionPair = std::pair<std::string, std::pair<SettingConditionCheck, void*>>;
101 using SettingConditionMap = std::map<std::string, std::pair<SettingConditionCheck, void*>>;
103 SettingConditionMap m_conditions;
104 std::set<std::string> m_defines;
Definition: SettingConditions.h:41
Definition: SettingConditions.h:58
Setting base class containing all the properties which are common to all settings independent of the ...
Definition: Setting.h:46
Definition: SettingConditions.h:82
Definition: BooleanLogic.h:22
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41
Definition: BooleanLogic.h:76
Definition: SettingConditions.h:73
Definition: SettingConditions.h:27
Definition: BooleanLogic.h:51