diff options
Diffstat (limited to 'include/mbgl/storage/request.hpp')
-rw-r--r-- | include/mbgl/storage/request.hpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/mbgl/storage/request.hpp b/include/mbgl/storage/request.hpp new file mode 100644 index 0000000000..e603ee527a --- /dev/null +++ b/include/mbgl/storage/request.hpp @@ -0,0 +1,39 @@ +#ifndef MBGL_STORAGE_REQUEST +#define MBGL_STORAGE_REQUEST + +#include <mbgl/storage/request_callback.hpp> +#include <mbgl/storage/response.hpp> +#include <mbgl/util/ptr.hpp> + +#include <forward_list> + +typedef struct uv_loop_s uv_loop_t; + +namespace mbgl { + +class BaseRequest; + +class Request { +private: + Request(const Request &) = delete; + Request(Request &&) = delete; + Request& operator=(const Request &) = delete; + Request& operator=(Request &&) = delete; + +public: + Request(const util::ptr<BaseRequest> &base); + ~Request(); + + void onload(CompletedCallback cb); + void oncancel(AbortedCallback cb); + void cancel(); + +private: + const unsigned long thread_id; + util::ptr<BaseRequest> base; + std::forward_list<Callback *> callbacks; +}; + +} + +#endif
\ No newline at end of file |