blob: 37ff9bcb57480f8d31e4a2e29add9c01e99a5fda [file] [log] [blame]
#pragma once
#include "interfaces.hpp"
#include "util.hpp"
#include <sdbusplus/bus.hpp>
#include <memory>
#include <string>
/*
* 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, DbusHelperInterface* helper) :
ReadInterface(),
_bus(bus), _path(path), _service(service), _helper(helper)
{}
ReadReturn read(void) override;
private:
sdbusplus::bus::bus& _bus;
const std::string _path;
const std::string _service; // the sensor service.
DbusHelperInterface* _helper;
};