24 lines
560 B
C++
24 lines
560 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
#include "interfaces/analytics_source.hpp"
|
|
#include "interfaces/temperature_source.hpp"
|
|
#include "telemetry/sink.hpp"
|
|
|
|
namespace djm::device {
|
|
|
|
class Device {
|
|
public:
|
|
Device(std::unique_ptr<AnalyticsSource> analyticsSource_, std::unique_ptr<TemperatureSource> temperatureSource_);
|
|
|
|
/* will collect data forever */
|
|
int run(telemetry::Sink::Writer &&writer);
|
|
|
|
private:
|
|
std::unique_ptr<AnalyticsSource> analyticsSource;
|
|
std::unique_ptr<TemperatureSource> temperatureSource;
|
|
};
|
|
|
|
} // namespace djm::device
|