[core] Introduce Timer abstraction

This commit is contained in:
Thiago Marcos P. Santos
2015-10-27 14:27:16 +02:00
parent 0d8ea6c0a2
commit 9b36c19aeb
8 changed files with 78 additions and 5 deletions

View File

@@ -0,0 +1,30 @@
#ifndef MBGL_UTIL_TIMER
#define MBGL_UTIL_TIMER
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/chrono.hpp>
#include <memory>
#include <functional>
namespace mbgl {
namespace util {
class Timer : private util::noncopyable {
public:
Timer();
~Timer();
void start(Duration timeout, Duration repeat, std::function<void()>&&);
void stop();
void unref();
private:
class Impl;
std::unique_ptr<Impl> impl;
};
}
}
#endif