12 #include "ErrorBase.h"
13 #include "HAL/cpp/priority_mutex.h"
15 typedef std::function<void()> TimerEventHandler;
19 explicit Notifier(TimerEventHandler handler);
21 template <
typename Callable,
typename Arg,
typename... Args>
22 Notifier(Callable&& f, Arg&& arg, Args&&... args)
23 :
Notifier(std::bind(std::forward<Callable>(f),
24 std::forward<Arg>(arg),
25 std::forward<Args>(args)...)) {}
30 Notifier& operator=(
const Notifier&) =
delete;
40 static void Notify(uint64_t currentTimeInt,
void *param);
47 TimerEventHandler m_handler;
49 double m_expirationTime = 0;
53 bool m_periodic =
false;
void StartPeriodic(double period)
Register for periodic event notification.
Definition: Notifier.cpp:94
virtual ~Notifier()
Free the resources for a timer event.
Definition: Notifier.cpp:31
Definition: Notifier.h:17
Base class for most objects.
Definition: ErrorBase.h:66
void StartSingle(double delay)
Register for single event notification.
Definition: Notifier.cpp:78
void Stop()
Stop timer events from occuring.
Definition: Notifier.cpp:109
Definition: priority_mutex.h:53
Notifier(TimerEventHandler handler)
Create a Notifier for timer event notification.
Definition: Notifier.cpp:19