29
namespace mt = mir::time;
37
class FakeAlarm : public mt::Alarm
40
FakeAlarm(std::function<void()> const& callback,
41
std::shared_ptr<mir::time::Clock> const& clock);
44
int wakeup_count() const;
46
bool cancel() override;
47
State state() const override;
49
bool reschedule_in(std::chrono::milliseconds delay) override;
50
bool reschedule_for(mir::time::Timestamp timeout) override;
54
std::function<void()> const callback;
56
mir::time::Timestamp triggers_at;
57
std::shared_ptr<mt::Clock> clock;
60
class FakeAlarmFactory : public mt::AlarmFactory
35
class FakeAlarmFactory : public time::AlarmFactory
63
38
FakeAlarmFactory();
65
std::unique_ptr<mt::Alarm> create_alarm(
40
std::unique_ptr<time::Alarm> create_alarm(
66
41
std::function<void()> const& callback) override;
67
std::unique_ptr<mt::Alarm> create_alarm(
42
std::unique_ptr<time::Alarm> create_alarm(
68
43
std::shared_ptr<mir::LockableCallback> const& callback) override;
70
void advance_by(mt::Duration step);
71
void advance_smoothly_by(mt::Duration step);
45
void advance_by(time::Duration step);
46
void advance_smoothly_by(time::Duration step);
72
47
int wakeup_count() const;
75
52
std::vector<FakeAlarm*> alarms;
76
53
std::shared_ptr<AdvanceableClock> const clock;