#pragma once #include "interfaces/json_storage.hpp" #include "interfaces/trigger.hpp" #include "interfaces/trigger_manager.hpp" #include "interfaces/trigger_types.hpp" #include #include #include #include namespace interfaces { class TriggerFactory { public: virtual ~TriggerFactory() = default; virtual std::unique_ptr make( boost::asio::yield_context& yield, const std::string& name, bool isDiscrete, bool logToJournal, bool logToRedfish, bool updateReport, const std::vector< std::pair>& sensors, const std::vector& reportNames, const TriggerThresholdParams& thresholdParams, interfaces::TriggerManager& triggerManager, interfaces::JsonStorage& triggerStorage) const = 0; }; } // namespace interfaces