diff options
author | Thiago Marcos P. Santos <thiago@mapbox.com> | 2015-08-31 14:40:09 +0300 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2015-11-16 12:25:47 -0800 |
commit | 36581f3d3015d525db92248004e9dc7477705694 (patch) | |
tree | 6f5d6fb38f3ef925a1afbbf41762581b3e0dbf66 /include/mbgl/util/work_task.hpp | |
parent | 2eb0203bf43e635b756bbf1322c53b8d299d4b37 (diff) | |
download | qtlocation-mapboxgl-36581f3d3015d525db92248004e9dc7477705694.tar.gz |
[core] Do not pass uv_loop_t around
This should be abstracted by util::RunLoop
Diffstat (limited to 'include/mbgl/util/work_task.hpp')
-rw-r--r-- | include/mbgl/util/work_task.hpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/mbgl/util/work_task.hpp b/include/mbgl/util/work_task.hpp new file mode 100644 index 0000000000..2224b211c4 --- /dev/null +++ b/include/mbgl/util/work_task.hpp @@ -0,0 +1,21 @@ +#ifndef MBGL_UTIL_WORK_TASK +#define MBGL_UTIL_WORK_TASK + +#include <mbgl/util/noncopyable.hpp> + +namespace mbgl { + +// A movable type-erasing function wrapper. This allows to store arbitrary invokable +// things (like std::function<>, or the result of a movable-only std::bind()) in the queue. +// Source: http://stackoverflow.com/a/29642072/331379 +class WorkTask : private util::noncopyable { +public: + virtual ~WorkTask() = default; + + virtual void operator()() = 0; + virtual void cancel() = 0; +}; + +} + +#endif |