Files
MapLibreParticleLab/platform/qt/src/async_task_impl.hpp
Thiago Marcos P. Santos e93d51c922 [Qt] Implement the AsyncTask, Timer and RunLoop using Qt
Now Mapbox GL will handle events using Qt as backend
instead of libuv.
2016-04-20 20:55:51 +03:00

39 lines
469 B
C++

#pragma once
#include <mbgl/util/async_task.hpp>
#include <QObject>
#include <functional>
#include <atomic>
namespace mbgl {
namespace util {
class RunLoop;
class AsyncTask::Impl : public QObject {
Q_OBJECT
public:
Impl(std::function<void()>&& fn);
void maySend();
public slots:
void runTask();
signals:
void send();
private:
RunLoop* runLoop;
std::function<void()> task;
std::atomic_flag queued = ATOMIC_FLAG_INIT;
};
}
}