summaryrefslogtreecommitdiffstats
path: root/event.hpp
diff options
context:
space:
mode:
authorMatt Spinler <spinler@us.ibm.com>2017-05-11 10:07:55 -0500
committerPatrick Williams <patrick@stwcx.xyz>2017-05-11 19:58:23 +0000
commite824f985e7e32923d9f76e3ad5baf4909880739f (patch)
tree8a89c8fc65f2611101d04ae9c550d4beb707d69d /event.hpp
parent14321846e57f483f472590b1c5fe35891511312f (diff)
downloadphosphor-fan-presence-e824f985e7e32923d9f76e3ad5baf4909880739f.tar.gz
phosphor-fan-presence-e824f985e7e32923d9f76e3ad5baf4909880739f.zip
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>
Diffstat (limited to 'event.hpp')
-rw-r--r--event.hpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/event.hpp b/event.hpp
new file mode 100644
index 0000000..71ca6a6
--- /dev/null
+++ b/event.hpp
@@ -0,0 +1,41 @@
+#pragma once
+
+#include <memory>
+#include <systemd/sd-event.h>
+
+namespace phosphor
+{
+namespace fan
+{
+namespace event
+{
+
+/**
+ * Custom deleter for sd_event_source
+ */
+struct EventSourceDeleter
+{
+ void operator()(sd_event_source* eventSource) const
+ {
+ sd_event_source_unref(eventSource);
+ }
+};
+
+using EventSourcePtr = std::unique_ptr<sd_event_source, EventSourceDeleter>;
+
+/**
+ * Customer deleter for sd_event
+ */
+struct EventDeleter
+{
+ void operator()(sd_event* event) const
+ {
+ sd_event_unref(event);
+ }
+};
+
+using EventPtr = std::unique_ptr<sd_event, EventDeleter>;
+
+}
+}
+}
OpenPOWER on IntegriCloud