1 #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 10 namespace interfaces 11 { 12 13 class 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 29