1 #include "dbus_sensor_object.hpp"
2
3 #include "helpers.hpp"
4
5 #include <boost/asio.hpp>
6 #include <sdbusplus/asio/connection.hpp>
7 #include <sdbusplus/asio/object_server.hpp>
8 #include <sdbusplus/bus.hpp>
9
10 namespace stubs
11 {
12
DbusSensorObject(boost::asio::io_context & ioc,const std::shared_ptr<sdbusplus::asio::connection> & bus,const std::shared_ptr<sdbusplus::asio::object_server> & objServer)13 DbusSensorObject::DbusSensorObject(
14 boost::asio::io_context& ioc,
15 const std::shared_ptr<sdbusplus::asio::connection>& bus,
16 const std::shared_ptr<sdbusplus::asio::object_server>& objServer) :
17 ioc(ioc), bus(bus), objServer(objServer)
18 {
19 sensorIface = objServer->add_unique_interface(
20 path(), interface(), [this](auto& iface) {
21 iface.register_property_r(
22 property.value(), value,
23 sdbusplus::vtable::property_::emits_change,
24 [this](const auto&) { return value; });
25 });
26 }
27
setValue(double v)28 void DbusSensorObject::setValue(double v)
29 {
30 value = v;
31
32 sensorIface->signal_property(property.value());
33 }
34
getValue() const35 double DbusSensorObject::getValue() const
36 {
37 return value;
38 }
39
path()40 const char* DbusSensorObject::path()
41 {
42 return "/telemetry/ut/DbusSensorObject";
43 }
44
interface()45 const char* DbusSensorObject::interface()
46 {
47 return "xyz.openbmc_project.Sensor.Value";
48 }
49
value()50 const char* DbusSensorObject::Properties::value()
51 {
52 return "Value";
53 }
54
55 } // namespace stubs
56