blob: 91f7f4b7805375244e8d2057e6c3822703e1e5ad [file] [log] [blame]
Wludzik, Jozef76833cb2020-12-21 14:42:41 +01001#pragma once
2
3#include "interfaces/trigger.hpp"
4#include "interfaces/trigger_manager.hpp"
5#include "interfaces/trigger_types.hpp"
6
7#include <memory>
8#include <utility>
9
10namespace interfaces
11{
12
13class TriggerFactory
14{
15 public:
16 virtual ~TriggerFactory() = default;
17
18 virtual std::unique_ptr<interfaces::Trigger> make(
19 const std::string& name, bool isDiscrete, bool logToJournal,
20 bool logToRedfish, bool updateReport,
21 const std::vector<
22 std::pair<sdbusplus::message::object_path, std::string>>& sensors,
23 const std::vector<std::string>& reportNames,
24 const TriggerThresholdParams& thresholdParams,
25 interfaces::TriggerManager& triggerManager) const = 0;
26};
27
28} // namespace interfaces