Add event framework

Introduce the concept of events, where the existing Dbus signal
match event is one of many possible event classes.

Change-Id: I9b0c6ca12daaa109f8ceb537a5fb0cc6b5f7181b
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/manager.hpp b/manager.hpp
index 5c694b5..c905b8b 100644
--- a/manager.hpp
+++ b/manager.hpp
@@ -94,22 +94,21 @@
     /** @brief Drop an object from DBus. */
     void destroyObject(const char *);
 
-    using Event = std::tuple<
-        const char *,
-        details::FilterBasePtr,
+    using EventInfo = std::tuple<
+        details::EventBasePtr,
         std::vector<details::ActionBasePtr>>;
     using SigArgs = std::vector<
         std::unique_ptr<
             std::tuple<
                 Manager *,
-                const Event *>>>;
+                const EventInfo *>>>;
     using SigArg = SigArgs::value_type::element_type;
 
     private:
     using HolderPtr = std::unique_ptr<details::holder::Base>;
     using InterfaceComposite = std::map<std::string, HolderPtr>;
     using ObjectReferences = std::map<std::string, InterfaceComposite>;
-    using Events = std::vector<Event>;
+    using Events = std::vector<EventInfo>;
     using MakerType = HolderPtr(*)(
             sdbusplus::bus::bus &, const char *);
     using Makers = std::map<std::string, MakerType>;