#pragma once #include #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_, std::unique_ptr temperatureSource_); /* will collect data forever */ int run(telemetry::Sink::Writer &&writer); private: std::unique_ptr analyticsSource; std::unique_ptr temperatureSource; }; } // namespace djm::device