diff --git a/platform/android/src/http_request_android.cpp b/platform/android/src/http_request_android.cpp index 9a554f528..05d719938 100644 --- a/platform/android/src/http_request_android.cpp +++ b/platform/android/src/http_request_android.cpp @@ -25,7 +25,7 @@ public: ~HTTPAndroidContext(); HTTPRequestBase* createRequest(const std::string& url, - RequestBase::Callback, + HTTPRequestBase::Callback, std::shared_ptr) final; JavaVM *vm = nullptr; @@ -110,7 +110,7 @@ HTTPAndroidContext::~HTTPAndroidContext() { } HTTPRequestBase* HTTPAndroidContext::createRequest(const std::string& url, - RequestBase::Callback callback, + HTTPRequestBase::Callback callback, std::shared_ptr response) { return new HTTPAndroidRequest(this, url, callback, response); } diff --git a/platform/darwin/http_request_nsurl.mm b/platform/darwin/http_request_nsurl.mm index 9822c8097..bb8bb5731 100644 --- a/platform/darwin/http_request_nsurl.mm +++ b/platform/darwin/http_request_nsurl.mm @@ -46,7 +46,7 @@ public: ~HTTPNSURLContext(); HTTPRequestBase* createRequest(const std::string& url, - RequestBase::Callback, + HTTPRequestBase::Callback, std::shared_ptr) final; NSURLSession *session = nil; @@ -82,7 +82,7 @@ HTTPNSURLContext::~HTTPNSURLContext() { } HTTPRequestBase* HTTPNSURLContext::createRequest(const std::string& url, - RequestBase::Callback callback, + HTTPRequestBase::Callback callback, std::shared_ptr response) { return new HTTPNSURLRequest(this, url, callback, response); } diff --git a/platform/default/http_request_curl.cpp b/platform/default/http_request_curl.cpp index 5ef8cddb7..f5fc39586 100644 --- a/platform/default/http_request_curl.cpp +++ b/platform/default/http_request_curl.cpp @@ -47,7 +47,7 @@ public: ~HTTPCURLContext(); HTTPRequestBase* createRequest(const std::string& url, - RequestBase::Callback, + HTTPRequestBase::Callback, std::shared_ptr) final; static int handleSocket(CURL *handle, curl_socket_t s, int action, void *userp, void *socketp); @@ -139,7 +139,7 @@ HTTPCURLContext::~HTTPCURLContext() { } HTTPRequestBase* HTTPCURLContext::createRequest(const std::string& url, - RequestBase::Callback callback, + HTTPRequestBase::Callback callback, std::shared_ptr response) { return new HTTPCURLRequest(this, url, callback, response); } diff --git a/platform/default/online_file_source.cpp b/platform/default/online_file_source.cpp index a470a8346..e87a9858c 100644 --- a/platform/default/online_file_source.cpp +++ b/platform/default/online_file_source.cpp @@ -21,8 +21,6 @@ namespace mbgl { -class RequestBase; - class OnlineFileRequest : public FileRequest { public: OnlineFileRequest(OnlineFileSource& fileSource_) @@ -52,7 +50,7 @@ private: const Resource resource; std::unique_ptr cacheRequest; - RequestBase* realRequest = nullptr; + HTTPRequestBase* realRequest = nullptr; util::Timer realRequestTimer; Callback callback; diff --git a/src/mbgl/storage/http_context_base.hpp b/src/mbgl/storage/http_context_base.hpp index f2d15e291..a1a3f5b59 100644 --- a/src/mbgl/storage/http_context_base.hpp +++ b/src/mbgl/storage/http_context_base.hpp @@ -1,7 +1,6 @@ #ifndef MBGL_STORAGE_HTTP_CONTEXT_BASE #define MBGL_STORAGE_HTTP_CONTEXT_BASE -#include #include #include @@ -15,7 +14,7 @@ public: virtual ~HTTPContextBase() = default; virtual HTTPRequestBase* createRequest(const std::string& url, - RequestBase::Callback, + HTTPRequestBase::Callback, std::shared_ptr) = 0; }; diff --git a/src/mbgl/storage/http_request_base.hpp b/src/mbgl/storage/http_request_base.hpp index a17284e78..8f1caf7bd 100644 --- a/src/mbgl/storage/http_request_base.hpp +++ b/src/mbgl/storage/http_request_base.hpp @@ -1,24 +1,36 @@ #ifndef MBGL_STORAGE_HTTP_REQUEST_BASE #define MBGL_STORAGE_HTTP_REQUEST_BASE -#include +#include #include +#include +#include +#include +#include + namespace mbgl { - class HTTPRequestBase : public RequestBase { +class Response; + +class HTTPRequestBase : private util::noncopyable { public: + using Callback = std::function response)>; + HTTPRequestBase(const std::string& url_, Callback notify_) - : RequestBase(url_, notify_) + : url(url_) + , notify(std::move(notify_)) , cancelled(false) { } virtual ~HTTPRequestBase() = default; - virtual void cancel() override { cancelled = true; }; + virtual void cancel() { cancelled = true; }; protected: static Seconds parseCacheControl(const char *value); + std::string url; + Callback notify; bool cancelled; }; diff --git a/src/mbgl/storage/request_base.hpp b/src/mbgl/storage/request_base.hpp deleted file mode 100644 index e3d33571d..000000000 --- a/src/mbgl/storage/request_base.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef MBGL_STORAGE_REQUEST_BASE -#define MBGL_STORAGE_REQUEST_BASE - -#include - -#include -#include -#include -#include - -namespace mbgl { - -class Response; - -class RequestBase : private util::noncopyable { -public: - using Callback = std::function response)>; - - RequestBase(const std::string& url_, Callback notify_) - : url(url_) - , notify(std::move(notify_)) { - } - - virtual ~RequestBase() = default; - virtual void cancel() = 0; - -protected: - std::string url; - Callback notify; -}; - -} // namespace mbgl - -#endif // MBGL_STORAGE_REQUEST_BASE