diff options
Diffstat (limited to 'org.openbmc.Associations.cpp')
-rw-r--r-- | org.openbmc.Associations.cpp | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/org.openbmc.Associations.cpp b/org.openbmc.Associations.cpp deleted file mode 100644 index 25d79fd..0000000 --- a/org.openbmc.Associations.cpp +++ /dev/null @@ -1,160 +0,0 @@ -#include <algorithm> -#include <org/openbmc/Associations/server.hpp> -#include <sdbusplus/exception.hpp> -#include <sdbusplus/server.hpp> - -namespace sdbusplus -{ -namespace org -{ -namespace openbmc -{ -namespace server -{ - -Associations::Associations(bus::bus& bus, const char* path) : - _org_openbmc_Associations_interface(bus, path, _interface, _vtable, this) -{ -} - -Associations::Associations( - bus::bus& bus, const char* path, - const std::map<std::string, PropertiesVariant>& vals) : - Associations(bus, path) -{ - for (const auto& v : vals) - { - setPropertyByName(v.first, v.second); - } -} - -auto Associations::associations() const - -> std::vector<std::tuple<std::string, std::string, std::string>> -{ - return _associations; -} - -int Associations::_callback_get_associations(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(reply); -#ifndef DISABLE_TRANSACTION - { - auto tbus = m.get_bus(); - sdbusplus::server::transaction::Transaction t(tbus, m); - sdbusplus::server::transaction::set_id( - std::hash<sdbusplus::server::transaction::Transaction>{}(t)); - } -#endif - - auto o = static_cast<Associations*>(context); - m.append(convertForMessage(o->associations())); - } - catch (sdbusplus::internal_exception_t& e) - { - sd_bus_error_set_const(error, e.name(), e.description()); - return -EINVAL; - } - - return true; -} - -auto Associations::associations( - std::vector<std::tuple<std::string, std::string, std::string>> value) - -> std::vector<std::tuple<std::string, std::string, std::string>> -{ - if (_associations != value) - { - _associations = value; - _org_openbmc_Associations_interface.property_changed("associations"); - } - - return _associations; -} - -int Associations::_callback_set_associations(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(value); -#ifndef DISABLE_TRANSACTION - { - auto tbus = m.get_bus(); - sdbusplus::server::transaction::Transaction t(tbus, m); - sdbusplus::server::transaction::set_id( - std::hash<sdbusplus::server::transaction::Transaction>{}(t)); - } -#endif - - auto o = static_cast<Associations*>(context); - - std::vector<std::tuple<std::string, std::string, std::string>> v{}; - m.read(v); - o->associations(v); - } - catch (sdbusplus::internal_exception_t& e) - { - sd_bus_error_set_const(error, e.name(), e.description()); - return -EINVAL; - } - - return true; -} - -namespace details -{ -namespace Associations -{ -static const auto _property_associations = utility::tuple_to_array( - message::types::type_id< - std::vector<std::tuple<std::string, std::string, std::string>>>()); -} -} // namespace details - -void Associations::setPropertyByName(const std::string& name, - const PropertiesVariant& val) -{ - if (name == "associations") - { - auto& v = message::variant_ns::get< - std::vector<std::tuple<std::string, std::string, std::string>>>( - val); - associations(v); - return; - } -} - -auto Associations::getPropertyByName(const std::string& name) - -> PropertiesVariant -{ - if (name == "associations") - { - return associations(); - } - - return PropertiesVariant(); -} - -const vtable::vtable_t Associations::_vtable[] = { - vtable::start(), - vtable::property("associations", - details::Associations::_property_associations.data(), - _callback_get_associations, _callback_set_associations, - vtable::property_::emits_change), - vtable::end()}; - -} // namespace server -} // namespace openbmc -} // namespace org -} // namespace sdbusplus |