blob: f55e9fafed22737e5685ccf281babd62ce0df543 [file] [log] [blame]
William A. Kennington III8f90e282018-07-17 14:40:14 -07001#pragma once
2
William A. Kennington III27efe8f2018-07-17 14:40:14 -07003#include <sdeventplus/internal/sdevent.hpp>
4#include <sdeventplus/internal/sdref.hpp>
William A. Kennington III8f90e282018-07-17 14:40:14 -07005#include <systemd/sd-event.h>
6
7namespace sdeventplus
8{
9
10class Event
11{
12 public:
William A. Kennington III0a816c52018-07-17 14:40:14 -070013 Event(sd_event* event,
14 internal::SdEvent* sdevent = &internal::sdevent_impl);
William A. Kennington III8f90e282018-07-17 14:40:14 -070015 Event(sd_event* event, std::false_type,
William A. Kennington III0a816c52018-07-17 14:40:14 -070016 internal::SdEvent* sdevent = &internal::sdevent_impl);
17 static Event get_new(internal::SdEvent* sdevent = &internal::sdevent_impl);
18 static Event
19 get_default(internal::SdEvent* sdevent = &internal::sdevent_impl);
William A. Kennington III8f90e282018-07-17 14:40:14 -070020
21 int loop();
William A. Kennington III631c2462018-07-17 14:40:14 -070022 int get_watchdog();
23 int set_watchdog(int b);
William A. Kennington III8f90e282018-07-17 14:40:14 -070024
25 private:
William A. Kennington III0a816c52018-07-17 14:40:14 -070026 internal::SdEvent* sdevent;
27 internal::SdRef<sd_event> event;
William A. Kennington III8f90e282018-07-17 14:40:14 -070028};
29
30} // namespace sdeventplus