blob: 9273d0347f8e9b5e06783a52de3d3264def8a6ee [file] [log] [blame]
Wludzik, Jozef2f9f9b82020-10-13 09:07:45 +02001#pragma once
2
3#include "interfaces/report.hpp"
4#include "interfaces/report_manager.hpp"
5#include "interfaces/types.hpp"
6
7#include <chrono>
8#include <memory>
9
10class ReportManager;
11
12namespace interfaces
13{
14
15class ReportFactory
16{
17 public:
18 virtual ~ReportFactory() = default;
19
20 virtual std::unique_ptr<interfaces::Report>
21 make(const std::string& name, const std::string& reportingType,
22 bool emitsReadingsSignal, bool logToMetricReportsCollection,
23 std::chrono::milliseconds period,
24 const ReadingParameters& metricParams,
25 ReportManager& reportManager) const = 0;
26};
27
28} // namespace interfaces