Use unique_ptr for sd_event object wrapper

Convert the sd_event object wrapper from a shared_ptr to
a unique_ptr.  Requires a new header file.

Change-Id: I868a9e88ed93878c2e0bb12e58f8d3a604510da0
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/timer.hpp b/timer.hpp
index ea28176..979a1cc 100644
--- a/timer.hpp
+++ b/timer.hpp
@@ -3,7 +3,7 @@
 #include <chrono>
 #include <functional>
 #include <memory>
-#include <systemd/sd-event.h>
+#include "event.hpp"
 
 namespace phosphor
 {
@@ -12,17 +12,6 @@
 namespace util
 {
 
-struct EventSourceDeleter
-{
-    void operator()(sd_event_source* eventSource) const
-    {
-        sd_event_source_unref(eventSource);
-    }
-};
-
-using EventSourcePtr = std::unique_ptr<sd_event_source, EventSourceDeleter>;
-
-using EventPtr = std::shared_ptr<sd_event>;
 
 /**
  * @class Timer
@@ -60,7 +49,7 @@
          * @param[in] events - sd_event pointer, previously created
          * @param[in] callbackFunc - The function to call on timer expiration
          */
-        Timer(EventPtr& events,
+        Timer(phosphor::fan::event::EventPtr& events,
               std::function<void()> callbackFunc);
 
         /**
@@ -148,12 +137,12 @@
         /**
          * @brief The sd_event structure
          */
-        EventPtr timeEvent;
+        phosphor::fan::event::EventPtr& timeEvent;
 
         /**
          * @brief Source of events
          */
-        EventSourcePtr eventSource;
+        phosphor::fan::event::EventSourcePtr eventSource;
 
         /**
          * @brief Either 'repeating' or 'oneshot'