summaryrefslogtreecommitdiffstats
path: root/src/sdevent/event.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdevent/event.hpp')
-rw-r--r--src/sdevent/event.hpp137
1 files changed, 67 insertions, 70 deletions
diff --git a/src/sdevent/event.hpp b/src/sdevent/event.hpp
index 5462202..f47c05d 100644
--- a/src/sdevent/event.hpp
+++ b/src/sdevent/event.hpp
@@ -49,84 +49,81 @@ using Event = std::unique_ptr<sd_event, EventDeleter>;
*/
class Event
{
- public:
- /* Define all of the basic class operations:
- * Not allowed:
- * - Default constructor to avoid nullptrs.
- * - Copy operations due to internal unique_ptr.
- * Allowed:
- * - Move operations.
- * - Destructor.
- */
- Event() = delete;
- Event(const Event&) = delete;
- Event& operator=(const Event&) = delete;
- Event(Event&&) = default;
- Event& operator=(Event&&) = default;
- ~Event() = default;
-
- /** @brief Conversion constructor from 'EventPtr'.
- *
- * Increments ref-count of the event-pointer and releases it when
- * done.
- */
- explicit Event(EventPtr e);
-
- /** @brief Constructor for 'Event'.
- *
- * Takes ownership of the event-pointer and releases it when done.
- */
- Event(EventPtr e, std::false_type);
-
- /** @brief Release ownership of the stored event-pointer. */
- EventPtr release()
- {
- return evt.release();
- }
-
- /** @brief Wait indefinitely for new event sources. */
- void loop()
- {
- sd_event_loop(evt.get());
- }
-
- /** @brief Attach to a DBus loop. */
- void attach(sdbusplus::bus::bus& bus)
- {
- bus.attach_event(evt.get(), SD_EVENT_PRIORITY_NORMAL);
- }
-
- /** @brief C++ wrapper for sd_event_now. */
- auto now()
- {
- using namespace std::chrono;
-
- uint64_t usec;
- sd_event_now(evt.get(), CLOCK_MONOTONIC, &usec);
- microseconds d(usec);
- return steady_clock::time_point(d);
- }
-
- friend class timer::Timer;
-
- private:
-
- EventPtr get()
- {
- return evt.get();
- }
-
- details::Event evt;
+ public:
+ /* Define all of the basic class operations:
+ * Not allowed:
+ * - Default constructor to avoid nullptrs.
+ * - Copy operations due to internal unique_ptr.
+ * Allowed:
+ * - Move operations.
+ * - Destructor.
+ */
+ Event() = delete;
+ Event(const Event&) = delete;
+ Event& operator=(const Event&) = delete;
+ Event(Event&&) = default;
+ Event& operator=(Event&&) = default;
+ ~Event() = default;
+
+ /** @brief Conversion constructor from 'EventPtr'.
+ *
+ * Increments ref-count of the event-pointer and releases it when
+ * done.
+ */
+ explicit Event(EventPtr e);
+
+ /** @brief Constructor for 'Event'.
+ *
+ * Takes ownership of the event-pointer and releases it when done.
+ */
+ Event(EventPtr e, std::false_type);
+
+ /** @brief Release ownership of the stored event-pointer. */
+ EventPtr release()
+ {
+ return evt.release();
+ }
+
+ /** @brief Wait indefinitely for new event sources. */
+ void loop()
+ {
+ sd_event_loop(evt.get());
+ }
+
+ /** @brief Attach to a DBus loop. */
+ void attach(sdbusplus::bus::bus& bus)
+ {
+ bus.attach_event(evt.get(), SD_EVENT_PRIORITY_NORMAL);
+ }
+
+ /** @brief C++ wrapper for sd_event_now. */
+ auto now()
+ {
+ using namespace std::chrono;
+
+ uint64_t usec;
+ sd_event_now(evt.get(), CLOCK_MONOTONIC, &usec);
+ microseconds d(usec);
+ return steady_clock::time_point(d);
+ }
+
+ friend class timer::Timer;
+
+ private:
+ EventPtr get()
+ {
+ return evt.get();
+ }
+
+ details::Event evt;
};
inline Event::Event(EventPtr l) : evt(sd_event_ref(l))
{
-
}
inline Event::Event(EventPtr l, std::false_type) : evt(l)
{
-
}
inline Event newDefault()
OpenPOWER on IntegriCloud