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/report_manager.cpp b/src/report_manager.cpp
index 9b7b9ef..df60075 100644
--- a/src/report_manager.cpp
+++ b/src/report_manager.cpp
@@ -32,11 +32,9 @@
ReportManager::ReportManager(
std::unique_ptr<interfaces::ReportFactory> reportFactoryIn,
std::unique_ptr<interfaces::JsonStorage> reportStorageIn,
- const std::shared_ptr<sdbusplus::asio::object_server>& objServerIn,
- std::unique_ptr<interfaces::TriggerManager>& triggerManagerIn) :
+ const std::shared_ptr<sdbusplus::asio::object_server>& objServerIn) :
reportFactory(std::move(reportFactoryIn)),
- reportStorage(std::move(reportStorageIn)), objServer(objServerIn),
- triggerManager(triggerManagerIn)
+ reportStorage(std::move(reportStorageIn)), objServer(objServerIn)
{
reports.reserve(maxReports);
@@ -225,16 +223,9 @@
verifyAddReport(id, name, reportingType, interval, reportUpdates,
appendLimit, labeledMetricParams);
- std::vector<std::string> triggerIds;
- if (triggerManager)
- {
- triggerIds = triggerManager->getTriggerIdsForReport(id);
- }
-
- reports.emplace_back(
- reportFactory->make(id, name, reportingType, reportActions, interval,
- appendLimit, reportUpdates, *this, *reportStorage,
- labeledMetricParams, enabled, triggerIds));
+ reports.emplace_back(reportFactory->make(
+ id, name, reportingType, reportActions, interval, appendLimit,
+ reportUpdates, *this, *reportStorage, labeledMetricParams, enabled));
return *reports.back();
}
@@ -287,29 +278,3 @@
}
}
}
-
-void ReportManager::updateReport(const std::string& id)
-{
- for (auto& report : reports)
- {
- if (report->getId() == id)
- {
- report->updateReadings();
- return;
- }
- }
-}
-
-void ReportManager::updateTriggerIds(const std::string& reportId,
- const std::string& triggerId,
- TriggerIdUpdate updateType)
-{
- if (auto res = std::find_if(reports.begin(), reports.end(),
- [&reportId](const auto& report) {
- return report->getId() == reportId;
- });
- res != reports.end())
- {
- (*res)->updateTriggerIds(triggerId, updateType);
- }
-}