diff options
author | John Wang <wangzqbj@inspur.com> | 2019-09-11 16:39:36 +0800 |
---|---|---|
committer | John Wang <wangzq.jn@gmail.com> | 2019-09-26 02:23:22 +0000 |
commit | 27d82814c3e79865221f599b98ce069c31c4d60a (patch) | |
tree | 42642fbe702e91b50ac6ad7c191ca5f92a4c3c2d /org/openbmc/Associations | |
parent | 14dc04117c7dd88317d3b2ae851f6cb202221b69 (diff) | |
download | phosphor-logging-27d82814c3e79865221f599b98ce069c31c4d60a.tar.gz phosphor-logging-27d82814c3e79865221f599b98ce069c31c4d60a.zip |
Move to new association interface
A new association interface is defined in phosphor-dbus-interfaces
It would be nice to move the local version of the interface
to the new one.
The behavior of how association work is described here:
https://github.com/openbmc/docs/blob/master/object-mapper.md#associations
Partially resolves openbmc/openbmc#3584
Tested: Create a new log using the Create interface, see that
org.openbmc.Associations has been replaced by the xyz one and
2 association objects are created by the mapper.
Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: I9bcddd4765b12224967383bab2dbaa6d273e2790
Diffstat (limited to 'org/openbmc/Associations')
-rw-r--r-- | org/openbmc/Associations/server.hpp | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/org/openbmc/Associations/server.hpp b/org/openbmc/Associations/server.hpp deleted file mode 100644 index fb3ff7e..0000000 --- a/org/openbmc/Associations/server.hpp +++ /dev/null @@ -1,97 +0,0 @@ -#pragma once -#include <systemd/sd-bus.h> - -#include <sdbusplus/server.hpp> -#include <tuple> - -namespace sdbusplus -{ -namespace org -{ -namespace openbmc -{ -namespace server -{ - -class Associations -{ - public: - /* Define all of the basic class operations: - * Not allowed: - * - Default constructor to avoid nullptrs. - * - Copy operations due to internal unique_ptr. - * - Move operations due to 'this' being registered as the - * 'context' with sdbus. - * Allowed: - * - Destructor. - */ - Associations() = delete; - Associations(const Associations&) = delete; - Associations& operator=(const Associations&) = delete; - Associations(Associations&&) = delete; - Associations& operator=(Associations&&) = delete; - virtual ~Associations() = default; - - /** @brief Constructor to put object onto bus at a dbus path. - * @param[in] bus - Bus to attach to. - * @param[in] path - Path to attach at. - */ - Associations(bus::bus& bus, const char* path); - - using PropertiesVariant = sdbusplus::message::variant< - std::vector<std::tuple<std::string, std::string, std::string>>>; - - /** @brief Constructor to initialize the object from a map of - * properties. - * - * @param[in] bus - Bus to attach to. - * @param[in] path - Path to attach at. - * @param[in] vals - Map of property name to value for initialization. - */ - Associations(bus::bus& bus, const char* path, - const std::map<std::string, PropertiesVariant>& vals); - - /** Get value of associations */ - virtual std::vector<std::tuple<std::string, std::string, std::string>> - associations() const; - /** Set value of associations */ - virtual std::vector<std::tuple<std::string, std::string, std::string>> - associations( - std::vector<std::tuple<std::string, std::string, std::string>> - value); - - /** @brief Sets a property by name. - * @param[in] name - A string representation of the property name. - * @param[in] val - A variant containing the value to set. - */ - void setPropertyByName(const std::string& name, - const PropertiesVariant& val); - - /** @brief Gets a property by name. - * @param[in] name - A string representation of the property name. - * @return - A variant containing the value of the property. - */ - PropertiesVariant getPropertyByName(const std::string& name); - - private: - /** @brief sd-bus callback for get-property 'associations' */ - static int _callback_get_associations(sd_bus*, const char*, const char*, - const char*, sd_bus_message*, void*, - sd_bus_error*); - /** @brief sd-bus callback for set-property 'associations' */ - static int _callback_set_associations(sd_bus*, const char*, const char*, - const char*, sd_bus_message*, void*, - sd_bus_error*); - - static constexpr auto _interface = "org.openbmc.Associations"; - static const vtable::vtable_t _vtable[]; - sdbusplus::server::interface::interface _org_openbmc_Associations_interface; - - std::vector<std::tuple<std::string, std::string, std::string>> - _associations{}; -}; - -} // namespace server -} // namespace openbmc -} // namespace org -} // namespace sdbusplus |