11 #include "SettingConditions.h" 12 #include "utils/BooleanLogic.h" 13 #include "utils/logtypes.h" 19 enum class SettingDependencyType {
26 enum class SettingDependencyOperator {
34 enum class SettingDependencyTarget {
45 SettingDependencyOperator op,
bool negated =
false,
48 const std::string &setting =
"",
bool negated =
false,
52 bool Deserialize(
const TiXmlNode *node)
override;
53 bool Check()
const override;
55 const std::string& GetName()
const {
return m_name; }
56 const std::string& GetSetting()
const {
return m_setting; }
57 SettingDependencyTarget GetTarget()
const {
return m_target; }
58 SettingDependencyOperator GetOperator()
const {
return m_operator; }
62 const std::string& strProperty,
63 const std::string& setting,
64 const std::string& value,
65 SettingDependencyTarget target = SettingDependencyTarget::Unknown,
66 SettingDependencyOperator op = SettingDependencyOperator::Equals,
67 bool negated =
false);
69 bool setTarget(
const std::string &target);
70 bool setOperator(
const std::string &op);
72 SettingDependencyTarget m_target = SettingDependencyTarget::Unknown;
73 SettingDependencyOperator m_operator = SettingDependencyOperator::Equals;
75 static Logger s_logger;
78 using CSettingDependencyConditionPtr = std::shared_ptr<CSettingDependencyCondition>;
81 using CSettingDependencyConditionCombinationPtr = std::shared_ptr<CSettingDependencyConditionCombination>;
96 bool Deserialize(
const TiXmlNode *node)
override;
98 const std::set<std::string>& GetSettings()
const {
return m_settings; }
102 const CSettingDependencyConditionCombinationPtr& operation);
108 std::set<std::string> m_settings;
118 bool Deserialize(
const TiXmlNode *node)
override;
120 SettingDependencyType GetType()
const {
return m_type; }
121 std::set<std::string> GetSettings()
const;
123 CSettingDependencyConditionCombinationPtr And();
124 CSettingDependencyConditionCombinationPtr Or();
127 bool setType(
const std::string &type);
129 SettingDependencyType m_type = SettingDependencyType::Unknown;
131 static Logger s_logger;
134 using SettingDependencies = std::list<CSettingDependency>;
135 using SettingDependencyMap = std::map<std::string, SettingDependencies>;
Definition: SettingConditions.h:41
Definition: SettingConditions.h:58
Definition: SettingDependency.h:40
Definition: BooleanLogic.h:22
Definition: SettingDependency.h:83
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41
Definition: SettingConditions.h:73
Definition: SettingDependency.h:111
Definition: BooleanLogic.h:51