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 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(path(), interface(), 20 [this](auto& iface) { 21 iface.register_property_r(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