#pragma once #include "dbushelper_interface.hpp" #include "interfaces.hpp" #include "util.hpp" #include #include #include namespace pid_control { /* * This ReadInterface will actively reach out over dbus upon calling read to * get the value from whomever owns the associated dbus path. */ class DbusActiveRead : public ReadInterface { public: DbusActiveRead(sdbusplus::bus::bus& bus, const std::string& path, const std::string& service, std::unique_ptr helper) : ReadInterface(), _bus(bus), _path(path), _service(service), _helper(std::move(helper)) {} ReadReturn read(void) override; private: sdbusplus::bus::bus& _bus; const std::string _path; const std::string _service; // the sensor service. std::unique_ptr _helper; }; } // namespace pid_control