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/interfaces/report.hpp b/src/interfaces/report.hpp
index 122afdf..3415712 100644
--- a/src/interfaces/report.hpp
+++ b/src/interfaces/report.hpp
@@ -14,8 +14,5 @@
 
     virtual std::string getId() const = 0;
     virtual std::string getPath() const = 0;
-    virtual void updateReadings() = 0;
-    virtual void updateTriggerIds(const std::string& triggerId,
-                                  TriggerIdUpdate updateType) = 0;
 };
 } // namespace interfaces
diff --git a/src/interfaces/report_factory.hpp b/src/interfaces/report_factory.hpp
index f5a1c5b..6a255a4 100644
--- a/src/interfaces/report_factory.hpp
+++ b/src/interfaces/report_factory.hpp
@@ -26,14 +26,15 @@
         convertMetricParams(boost::asio::yield_context& yield,
                             const ReadingParameters& metricParams) const = 0;
 
-    virtual std::unique_ptr<interfaces::Report> make(
-        const std::string& id, const std::string& name,
-        const ReportingType reportingType,
-        const std::vector<ReportAction>& reportActions, Milliseconds period,
-        uint64_t appendLimit, const ReportUpdates reportUpdates,
-        ReportManager& reportManager, JsonStorage& reportStorage,
-        std::vector<LabeledMetricParameters> labeledMetricParams, bool enabled,
-        const std::vector<std::string>& triggerIds) const = 0;
+    virtual std::unique_ptr<interfaces::Report>
+        make(const std::string& id, const std::string& name,
+             const ReportingType reportingType,
+             const std::vector<ReportAction>& reportActions,
+             Milliseconds period, uint64_t appendLimit,
+             const ReportUpdates reportUpdates, ReportManager& reportManager,
+             JsonStorage& reportStorage,
+             std::vector<LabeledMetricParameters> labeledMetricParams,
+             bool enabled) const = 0;
 };
 
 } // namespace interfaces
diff --git a/src/interfaces/report_manager.hpp b/src/interfaces/report_manager.hpp
index a390f41..323f13b 100644
--- a/src/interfaces/report_manager.hpp
+++ b/src/interfaces/report_manager.hpp
@@ -12,10 +12,6 @@
     virtual ~ReportManager() = default;
 
     virtual void removeReport(const interfaces::Report* report) = 0;
-    virtual void updateReport(const std::string& id) = 0;
-    virtual void updateTriggerIds(const std::string& reportId,
-                                  const std::string& triggerId,
-                                  TriggerIdUpdate updateType) = 0;
 };
 
 } // namespace interfaces
diff --git a/src/interfaces/trigger.hpp b/src/interfaces/trigger.hpp
index 7ad47ae..c76c019 100644
--- a/src/interfaces/trigger.hpp
+++ b/src/interfaces/trigger.hpp
@@ -13,7 +13,6 @@
 
     virtual std::string getId() const = 0;
     virtual std::string getPath() const = 0;
-    virtual const std::vector<std::string>& getReportIds() const = 0;
 };
 
 } // namespace interfaces
diff --git a/src/interfaces/trigger_manager.hpp b/src/interfaces/trigger_manager.hpp
index 28e11f3..878fd57 100644
--- a/src/interfaces/trigger_manager.hpp
+++ b/src/interfaces/trigger_manager.hpp
@@ -11,9 +11,6 @@
     virtual ~TriggerManager() = default;
 
     virtual void removeTrigger(const Trigger* trigger) = 0;
-
-    virtual std::vector<std::string>
-        getTriggerIdsForReport(const std::string& reportId) const = 0;
 };
 
 } // namespace interfaces