21 #ifndef MIR_TIME_TIMER_H_
22 #define MIR_TIME_TIMER_H_
41 virtual ~Timer() =
default;
50 virtual std::unique_ptr<Alarm>
notify_in(std::chrono::milliseconds delay,
51 std::function<
void()>
const& callback) = 0;
61 std::function<
void()>
const& callback) = 0;
69 virtual std::unique_ptr<Alarm>
create_alarm(std::function<
void()>
const& callback) = 0;
91 virtual std::unique_ptr<Alarm>
create_alarm(std::function<
void()>
const& callback,
92 std::function<
void()>
const& lock, std::function<
void()>
const& unlock) = 0;
101 #endif // MIR_TIME_TIMER_H_
Timer & operator=(Timer const &)=delete
virtual std::unique_ptr< Alarm > create_alarm(std::function< void()> const &callback)=0
Create an Alarm that will not fire until scheduled.
All things Mir.
Definition: buffer_stream.h:37
virtual std::unique_ptr< Alarm > notify_at(Timestamp time_point, std::function< void()> const &callback)=0
Create an Alarm that calls the callback at the specified time.
std::chrono::steady_clock::time_point Timestamp
Definition: types.h:29
virtual std::unique_ptr< Alarm > notify_in(std::chrono::milliseconds delay, std::function< void()> const &callback)=0
Create an Alarm that calls the callback after the specified delay.