diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-01-15 12:36:15 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-01-21 11:22:11 -0800 |
commit | 1766d7dcbf9482ceac9bff37e0f7f5a4c60b9123 (patch) | |
tree | bf4674142fbfe581c4328dc04641fcaf6b44d133 | |
parent | 0a2e4af4c5d34a394fd6c32d771f2e8ae92a387c (diff) | |
download | qtlocation-mapboxgl-1766d7dcbf9482ceac9bff37e0f7f5a4c60b9123.tar.gz |
[core] Eliminate RequestBase
HTTPRequestBase can now itself be the base class.
-rw-r--r-- | platform/android/src/http_request_android.cpp | 4 | ||||
-rw-r--r-- | platform/darwin/http_request_nsurl.mm | 4 | ||||
-rw-r--r-- | platform/default/http_request_curl.cpp | 4 | ||||
-rw-r--r-- | platform/default/online_file_source.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/storage/http_context_base.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/storage/http_request_base.hpp | 20 | ||||
-rw-r--r-- | src/mbgl/storage/request_base.hpp | 34 |
7 files changed, 24 insertions, 49 deletions
diff --git a/platform/android/src/http_request_android.cpp b/platform/android/src/http_request_android.cpp index 9a554f5281..05d719938c 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<const Response>) 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<const Response> 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 9822c8097e..bb8bb57314 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<const Response>) 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<const Response> 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 5ef8cddb74..f5fc395862 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<const Response>) 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<const Response> 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 a470a83462..e87a9858ce 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<WorkRequest> 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 f2d15e2918..a1a3f5b597 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 <mbgl/storage/request_base.hpp> #include <mbgl/storage/http_request_base.hpp> #include <mbgl/storage/network_status.hpp> @@ -15,7 +14,7 @@ public: virtual ~HTTPContextBase() = default; virtual HTTPRequestBase* createRequest(const std::string& url, - RequestBase::Callback, + HTTPRequestBase::Callback, std::shared_ptr<const Response>) = 0; }; diff --git a/src/mbgl/storage/http_request_base.hpp b/src/mbgl/storage/http_request_base.hpp index a17284e782..8f1caf7bdc 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 <mbgl/storage/request_base.hpp> +#include <mbgl/util/noncopyable.hpp> #include <mbgl/util/chrono.hpp> +#include <memory> +#include <functional> +#include <utility> +#include <string> + namespace mbgl { - class HTTPRequestBase : public RequestBase { +class Response; + +class HTTPRequestBase : private util::noncopyable { public: + using Callback = std::function<void (std::shared_ptr<const Response> 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 e3d33571d4..0000000000 --- a/src/mbgl/storage/request_base.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef MBGL_STORAGE_REQUEST_BASE -#define MBGL_STORAGE_REQUEST_BASE - -#include <mbgl/util/noncopyable.hpp> - -#include <memory> -#include <functional> -#include <utility> -#include <string> - -namespace mbgl { - -class Response; - -class RequestBase : private util::noncopyable { -public: - using Callback = std::function<void (std::shared_ptr<const Response> 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 |