From 3817c9f1ff8c03616e164cba04cc74bd06fbe012 Mon Sep 17 00:00:00 2001 From: Matti Airas Date: Wed, 30 Oct 2024 12:09:22 +0200 Subject: [PATCH] Add convenience methods for shared_ptr args --- src/events.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/events.h b/src/events.h index 1662b1c..0182b58 100644 --- a/src/events.h +++ b/src/events.h @@ -4,6 +4,7 @@ #include #include +#include namespace reactesp { @@ -35,6 +36,16 @@ struct EventInterface { virtual void add(EventLoop* event_loop) = 0; virtual void remove(EventLoop* event_loop) = 0; virtual void tick(EventLoop* event_loop) = 0; + + virtual void add(std::shared_ptr event_loop) { + add(event_loop.get()); + } + virtual void remove(std::shared_ptr event_loop) { + remove(event_loop.get()); + } + virtual void tick(std::shared_ptr event_loop) { + tick(event_loop.get()); + } }; /** @@ -93,8 +104,13 @@ class TimedEvent : public Event { enabled(true) {} bool operator<(const TimedEvent& other) const; - void add(EventLoop* event_loop) override; - void remove(EventLoop* event_loop) override; + virtual void add(EventLoop* event_loop) override; + virtual void remove(EventLoop* event_loop) override; + + using EventInterface::add; + using EventInterface::remove; + using EventInterface::tick; + uint32_t getTriggerTime() const { return (last_trigger_time + interval) / 1000; } @@ -165,6 +181,10 @@ class UntimedEvent : public Event { void add(EventLoop* event_loop) override; void remove(EventLoop* event_loop) override; + + using EventInterface::add; + using EventInterface::remove; + using EventInterface::tick; }; /**