blob: b0ea118e7f7d4554ad0f65c4f9c4881323e9db4a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#pragma once
#include "Rule.hpp"
namespace Desktop::Rule {
class CRuleEngine {
public:
CRuleEngine() = default;
~CRuleEngine() = default;
void registerRule(SP<IRule>&& rule);
void unregisterRule(const std::string& name);
void unregisterRule(const SP<IRule>& rule);
void updateAllRules();
void cleanExecRules();
void clearAllRules();
const std::vector<SP<IRule>>& rules();
private:
std::vector<SP<IRule>> m_rules;
};
SP<CRuleEngine> ruleEngine();
}
|