1 #pragma once
2 
3 #include <mbgl/util/timer.hpp>
4 
5 #include <QObject>
6 #include <QTimer>
7 
8 namespace mbgl {
9 namespace util {
10 
11 class Timer::Impl : public QObject {
12     Q_OBJECT
13 
14 public:
15     Impl();
16 
17     void start(uint64_t timeout, uint64_t repeat, std::function<void ()> &&);
18     void stop();
19 
20 public slots:
21     void timerFired();
22 
23 private:
24     uint64_t repeat;
25     std::function<void()> callback;
26 
27     QTimer timer;
28 };
29 
30 } // namespace util
31 } // namespace mbgl
32