diff options
author | Matt Spinler <spinler@us.ibm.com> | 2017-05-11 10:07:55 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-05-11 19:58:23 +0000 |
commit | e824f985e7e32923d9f76e3ad5baf4909880739f (patch) | |
tree | 8a89c8fc65f2611101d04ae9c550d4beb707d69d /event.hpp | |
parent | 14321846e57f483f472590b1c5fe35891511312f (diff) | |
download | phosphor-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.hpp | 41 |
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>; + +} +} +} |