Removed dependency to TriggerManager
introduces Messanger class which allows to send messages directly to
subscribed targets, which allows to break dependencies between classes.
Testes:
- All unit tests are passing
- Links are correctly updated
- Report is correctly updated by Trigger Action
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: I32d3aaba22f9ec07e611f53fe553bd27e1c04c6d
diff --git a/src/trigger.hpp b/src/trigger.hpp
index 67c6a7f..b7ef182 100644
--- a/src/trigger.hpp
+++ b/src/trigger.hpp
@@ -1,12 +1,12 @@
#pragma once
#include "interfaces/json_storage.hpp"
-#include "interfaces/report_manager.hpp"
#include "interfaces/threshold.hpp"
#include "interfaces/trigger.hpp"
#include "interfaces/trigger_factory.hpp"
#include "interfaces/trigger_manager.hpp"
#include "types/trigger_types.hpp"
+#include "utils/messanger.hpp"
#include <boost/asio/io_context.hpp>
#include <sdbusplus/asio/object_server.hpp>
@@ -24,8 +24,8 @@
std::vector<std::shared_ptr<interfaces::Threshold>>&& thresholds,
interfaces::TriggerManager& triggerManager,
interfaces::JsonStorage& triggerStorage,
- const interfaces::TriggerFactory& triggerFactory, Sensors sensorsIn,
- interfaces::ReportManager& reportManager);
+ const interfaces::TriggerFactory& triggerFactory,
+ Sensors sensorsIn);
Trigger(const Trigger&) = delete;
Trigger(Trigger&&) = delete;
@@ -44,11 +44,6 @@
bool storeConfiguration() const;
- const std::vector<std::string>& getReportIds() const override
- {
- return *reportIds;
- }
-
private:
std::string id;
std::string name;
@@ -63,10 +58,7 @@
interfaces::JsonStorage::FilePath fileName;
interfaces::JsonStorage& triggerStorage;
Sensors sensors;
- interfaces::ReportManager& reportManager;
-
- void
- updateTriggerIdsInReports(const std::vector<std::string>& newReportIds);
+ utils::Messanger messanger;
public:
static constexpr const char* triggerIfaceName =