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>
diff --git a/manager.hpp b/manager.hpp
index c905b8b..92afd9f 100644
--- a/manager.hpp
+++ b/manager.hpp
@@ -78,6 +78,9 @@
     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 @@
     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;