Add TimerHandler to event loop
Change-Id: I85c9142bcff9bf2cc5b8d003d24b8d77567fbe4a
diff --git a/aos/events/shm-event-loop.h b/aos/events/shm-event-loop.h
index 9ee7926..e40ccce 100644
--- a/aos/events/shm-event-loop.h
+++ b/aos/events/shm-event-loop.h
@@ -8,6 +8,7 @@
namespace internal {
class WatcherThreadState;
+class TimerHandlerState;
} // namespace internal
@@ -31,12 +32,15 @@
const std::string &path, const QueueTypeInfo &type,
std::function<void(const aos::Message *message)> watcher) override;
+ TimerHandler *AddTimer(::std::function<void()> callback) override;
+
void OnRun(std::function<void()> on_run) override;
void Run() override;
void Exit() override;
private:
friend class internal::WatcherThreadState;
+ friend class internal::TimerHandlerState;
// This ThreadState ensures that two watchers in the same loop cannot be
// triggered concurrently. Because watchers block threads indefinitely, this
// has to be shared_ptr in case the EventLoop is destroyed before the thread
@@ -53,6 +57,7 @@
private:
friend class internal::WatcherThreadState;
+ friend class internal::TimerHandlerState;
friend class ShmEventLoop;
// This mutex ensures that only one watch event happens at a time.