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