diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-11-29 16:41:32 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-01-12 16:53:29 -0500 |
commit | 68c8083969a59270d6e2f855f9bcee21784a530c (patch) | |
tree | 3aa02c1b70859ebc1c645ed080b6e626744fa756 /manager.hpp | |
parent | 4f20a3e3ccbfb8b08de0bdac96c037d81546c573 (diff) | |
download | phosphor-inventory-manager-68c8083969a59270d6e2f855f9bcee21784a530c.tar.gz phosphor-inventory-manager-68c8083969a59270d6e2f855f9bcee21784a530c.zip |
Allow arrays of dbus events
The current event <-> action relationship is one to many.
Allow a many to many relationship to be expressed.
Change-Id: Ibfb995cbf677b21757864dc62d9a3818af6c2aa3
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'manager.hpp')
-rw-r--r-- | manager.hpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/manager.hpp b/manager.hpp index c905b8b..92afd9f 100644 --- a/manager.hpp +++ b/manager.hpp @@ -78,6 +78,9 @@ class Manager final : using Object = std::map< std::string, std::map< std::string, sdbusplus::message::variant<std::string>>>; + using EventInfo = std::tuple< + std::vector<details::EventBasePtr>, + std::vector<details::ActionBasePtr>>; /** @brief Start processing DBus messages. */ void run() noexcept; @@ -89,18 +92,18 @@ class Manager final : void notify(std::string path, Object) override; /** @brief sd_bus signal callback. */ - void signal(sdbusplus::message::message &, auto &); + void signal(sdbusplus::message::message&, + const details::DbusSignal &event, + const EventInfo &info); /** @brief Drop an object from DBus. */ void destroyObject(const char *); - using EventInfo = std::tuple< - details::EventBasePtr, - std::vector<details::ActionBasePtr>>; using SigArgs = std::vector< std::unique_ptr< std::tuple< Manager *, + const details::DbusSignal *, const EventInfo *>>>; using SigArg = SigArgs::value_type::element_type; |