summaryrefslogtreecommitdiffstats
path: root/manager.hpp
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2016-11-29 16:41:32 -0500
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2017-01-12 16:53:29 -0500
commit68c8083969a59270d6e2f855f9bcee21784a530c (patch)
tree3aa02c1b70859ebc1c645ed080b6e626744fa756 /manager.hpp
parent4f20a3e3ccbfb8b08de0bdac96c037d81546c573 (diff)
downloadphosphor-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.hpp11
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;
OpenPOWER on IntegriCloud