Horizon
src
package
package_rules.hpp
1
#pragma once
2
#include "nlohmann/json_fwd.hpp"
3
#include "rule_package_checks.hpp"
4
#include "rules/rules.hpp"
5
#include "util/uuid.hpp"
6
7
namespace
horizon {
8
using
json
=
nlohmann::json
;
9
10
class
PackageRules
:
public
Rules
{
11
public
:
12
PackageRules
();
13
14
void
load_from_json(
const
json
&j);
15
RulesCheckResult
check(RuleID
id
,
const
class
Package
*pkg,
class
RulesCheckCache
&cache);
16
json
serialize()
const
;
17
std::set<RuleID> get_rule_ids()
const
;
18
Rule
*get_rule(RuleID
id
);
19
Rule
*get_rule(RuleID
id
,
const
UUID
&uu);
20
std::map<UUID, Rule *> get_rules(RuleID
id
);
21
void
remove_rule(RuleID
id
,
const
UUID
&uu);
22
Rule
*add_rule(RuleID
id
);
23
24
private
:
25
RulePackageChecks
rule_package_checks;
26
27
RulesCheckResult
check_package(
const
class
Package
*pkg);
28
};
29
}
// namespace horizon
horizon::PackageRules
Definition:
package_rules.hpp:10
nlohmann::json
basic_json<> json
default JSON class
Definition:
json_fwd.hpp:61
horizon::RulesCheckCache
Definition:
cache.hpp:43
horizon::Rules
Definition:
rules.hpp:44
horizon::Rule
Definition:
rule.hpp:26
horizon::Package
Definition:
package.hpp:28
nlohmann::basic_json
a class to store JSON values
Definition:
json.hpp:161
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition:
uuid.hpp:16
horizon::RulesCheckResult
Definition:
rules.hpp:31
horizon::RulePackageChecks
Definition:
rule_package_checks.hpp:6
Generated by
1.8.16