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