1 #pragma once
2 
3 #include <systemd/sd-event.h>
4 namespace open_power
5 {
6 namespace occ
7 {
8 
9 /* Need a custom deleter for freeing up sd_event */
10 struct EventDeleter
11 {
12     void operator()(sd_event* event) const
13     {
14         event = sd_event_unref(event);
15     }
16 };
17 using EventPtr = std::unique_ptr<sd_event, EventDeleter>;
18 
19 /* Need a custom deleter for freeing up sd_event_source */
20 struct EventSourceDeleter
21 {
22     void operator()(sd_event_source* eventSource) const
23     {
24         eventSource = sd_event_source_unref(eventSource);
25     }
26 };
27 using EventSourcePtr = std::unique_ptr<sd_event_source, EventSourceDeleter>;
28 
29 } // namespace occ
30 } // namespace open_power
31