#include #include #include #include "xyz/openbmc_project/Led/Group/server.hpp" namespace sdbusplus { namespace xyz { namespace openbmc_project { namespace Led { namespace server { Group::Group(bus::bus& bus, const char* path) : _xyz_openbmc_project_Led_Group_interface( bus, path, _interface, _vtable, this) { } auto Group::asserted() const -> bool { return _asserted; } int Group::_callback_get_Asserted( sd_bus* bus, const char* path, const char* interface, const char* property, sd_bus_message* reply, void* context, sd_bus_error* error) { using sdbusplus::server::binding::details::convertForMessage; try { auto m = message::message(sd_bus_message_ref(reply)); auto o = static_cast(context); m.append(convertForMessage(o->asserted())); } catch(sdbusplus::internal_exception_t& e) { sd_bus_error_set_const(error, e.name(), e.description()); return -EINVAL; } return true; } auto Group::asserted(bool value) -> bool { if (_asserted != value) { _asserted = value; _xyz_openbmc_project_Led_Group_interface.property_changed("Asserted"); } return _asserted; } int Group::_callback_set_Asserted( sd_bus* bus, const char* path, const char* interface, const char* property, sd_bus_message* value, void* context, sd_bus_error* error) { try { auto m = message::message(sd_bus_message_ref(value)); auto o = static_cast(context); bool v{}; m.read(v); o->asserted(v); } catch(sdbusplus::internal_exception_t& e) { sd_bus_error_set_const(error, e.name(), e.description()); return -EINVAL; } return true; } namespace details { namespace Group { static const auto _property_Asserted = utility::tuple_to_array(message::types::type_id< bool>()); } } const vtable::vtable_t Group::_vtable[] = { vtable::start(), vtable::property("Asserted", details::Group::_property_Asserted .data(), _callback_get_Asserted, _callback_set_Asserted, vtable::property_::emits_change), vtable::end() }; } // namespace server } // namespace Led } // namespace openbmc_project } // namespace xyz } // namespace sdbusplus