blob: 45ee4c706ad1727661bc462aa6f6bf8fa43df4e6 [file] [log] [blame]
#pragma once
#include <boost/asio.hpp>
#include <sdbusplus/asio/connection.hpp>
#include <sdbusplus/asio/object_server.hpp>
#include <sdbusplus/bus.hpp>
namespace stubs
{
class DbusSensorObject
{
public:
DbusSensorObject(
boost::asio::io_context& ioc,
const std::shared_ptr<sdbusplus::asio::connection>& bus,
const std::shared_ptr<sdbusplus::asio::object_server>& objServer);
static const char* path();
static const char* interface();
void setValue(double);
double getValue() const;
struct Properties
{
static const char* value();
};
static constexpr Properties property = {};
private:
boost::asio::io_context& ioc;
std::shared_ptr<sdbusplus::asio::connection> bus;
std::shared_ptr<sdbusplus::asio::object_server> objServer;
std::unique_ptr<sdbusplus::asio::dbus_interface> sensorIface;
double value = 0.0;
};
} // namespace stubs