blob: 9273d0347f8e9b5e06783a52de3d3264def8a6ee [file] [log] [blame]
#pragma once
#include "interfaces/report.hpp"
#include "interfaces/report_manager.hpp"
#include "interfaces/types.hpp"
#include <chrono>
#include <memory>
class ReportManager;
namespace interfaces
{
class ReportFactory
{
public:
virtual ~ReportFactory() = default;
virtual std::unique_ptr<interfaces::Report>
make(const std::string& name, const std::string& reportingType,
bool emitsReadingsSignal, bool logToMetricReportsCollection,
std::chrono::milliseconds period,
const ReadingParameters& metricParams,
ReportManager& reportManager) const = 0;
};
} // namespace interfaces