1 #pragma once
2 
3 #include <sdeventplus/internal/sdevent.hpp>
4 #include <sdeventplus/internal/sdref.hpp>
5 #include <systemd/sd-event.h>
6 
7 namespace sdeventplus
8 {
9 
10 class Event
11 {
12   public:
13     Event(sd_event* event, SdEventInterface* intf = &sdevent_impl);
14     Event(sd_event* event, std::false_type,
15           SdEventInterface* intf = &sdevent_impl);
16     static Event get_new(SdEventInterface* intf = &sdevent_impl);
17     static Event get_default(SdEventInterface* intf = &sdevent_impl);
18 
19     int loop();
20     int get_watchdog();
21     int set_watchdog(int b);
22 
23   private:
24     SdEventInterface* intf;
25     SdRef<sd_event> event;
26 };
27 
28 } // namespace sdeventplus
29