From 169755e89a72b103fab100ccd101013e8eef1481 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 23 Mar 2016 17:31:14 -0700 Subject: [core] Unify FileRequest and WorkRequest --- include/mbgl/util/async_request.hpp | 12 ++++++++++++ include/mbgl/util/run_loop.hpp | 4 ++-- include/mbgl/util/work_request.hpp | 6 +++--- 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 include/mbgl/util/async_request.hpp (limited to 'include/mbgl/util') diff --git a/include/mbgl/util/async_request.hpp b/include/mbgl/util/async_request.hpp new file mode 100644 index 0000000000..9e85094966 --- /dev/null +++ b/include/mbgl/util/async_request.hpp @@ -0,0 +1,12 @@ +#pragma once + +#include + +namespace mbgl { + +class AsyncRequest : private util::noncopyable { +public: + virtual ~AsyncRequest() = default; +}; + +} // namespace mbgl diff --git a/include/mbgl/util/run_loop.hpp b/include/mbgl/util/run_loop.hpp index fbc4794940..4e25caf554 100644 --- a/include/mbgl/util/run_loop.hpp +++ b/include/mbgl/util/run_loop.hpp @@ -58,7 +58,7 @@ public: // Post the cancellable work fn(args...) to this RunLoop. template - std::unique_ptr + std::unique_ptr invokeCancellable(Fn&& fn, Args&&... args) { auto flag = std::make_shared>(); *flag = false; @@ -76,7 +76,7 @@ public: // Invoke fn(args...) on this RunLoop, then invoke callback(results...) on the current RunLoop. template - std::unique_ptr + std::unique_ptr invokeWithCallback(Fn&& fn, Cb&& callback, Args&&... args) { auto flag = std::make_shared>(); *flag = false; diff --git a/include/mbgl/util/work_request.hpp b/include/mbgl/util/work_request.hpp index bd1d97ee70..f24e4b2e9f 100644 --- a/include/mbgl/util/work_request.hpp +++ b/include/mbgl/util/work_request.hpp @@ -1,7 +1,7 @@ #ifndef MBGL_UTIL_WORK_REQUEST #define MBGL_UTIL_WORK_REQUEST -#include +#include #include @@ -9,11 +9,11 @@ namespace mbgl { class WorkTask; -class WorkRequest : public util::noncopyable { +class WorkRequest : public AsyncRequest { public: using Task = std::shared_ptr; WorkRequest(Task); - ~WorkRequest(); + ~WorkRequest() override; private: std::shared_ptr task; -- cgit v1.2.1