diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2015-12-23 14:16:15 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2015-12-23 14:30:20 -0800 |
commit | c972a251da6e6bc5dadf243045181462ffb01700 (patch) | |
tree | f409b2cca1bbbd0fd825c98996d4c7879c5069e7 /platform | |
parent | 16de579d7cfc2960793cbcb5e95741f22ab73768 (diff) | |
download | qtlocation-mapboxgl-c972a251da6e6bc5dadf243045181462ffb01700.tar.gz |
[core] Remove `Resource` dependency from low-level classes
These classes should not be coupled to domain-specific resource types.
Diffstat (limited to 'platform')
-rw-r--r-- | platform/android/src/http_request_android.cpp | 15 | ||||
-rw-r--r-- | platform/darwin/http_request_nsurl.mm | 15 | ||||
-rw-r--r-- | platform/default/asset_request_fs.cpp | 12 | ||||
-rw-r--r-- | platform/default/asset_request_zip.cpp | 13 | ||||
-rw-r--r-- | platform/default/http_request_curl.cpp | 15 | ||||
-rw-r--r-- | platform/default/online_file_source.cpp | 4 |
6 files changed, 34 insertions, 40 deletions
diff --git a/platform/android/src/http_request_android.cpp b/platform/android/src/http_request_android.cpp index 03f4f8061f..a3803ee11d 100644 --- a/platform/android/src/http_request_android.cpp +++ b/platform/android/src/http_request_android.cpp @@ -1,6 +1,5 @@ #include <mbgl/storage/http_context_base.hpp> #include <mbgl/storage/http_request_base.hpp> -#include <mbgl/storage/resource.hpp> #include <mbgl/storage/response.hpp> #include <mbgl/platform/log.hpp> #include "jni.hpp" @@ -25,7 +24,7 @@ public: explicit HTTPAndroidContext(); ~HTTPAndroidContext(); - HTTPRequestBase* createRequest(const Resource&, + HTTPRequestBase* createRequest(const std::string& url, RequestBase::Callback, std::shared_ptr<const Response>) final; @@ -36,7 +35,7 @@ public: class HTTPAndroidRequest : public HTTPRequestBase { public: HTTPAndroidRequest(HTTPAndroidContext*, - const Resource&, + const std::string& url, Callback, std::shared_ptr<const Response>); ~HTTPAndroidRequest(); @@ -110,14 +109,14 @@ HTTPAndroidContext::~HTTPAndroidContext() { vm = nullptr; } -HTTPRequestBase* HTTPAndroidContext::createRequest(const Resource& resource, +HTTPRequestBase* HTTPAndroidContext::createRequest(const std::string& url, RequestBase::Callback callback, std::shared_ptr<const Response> response) { - return new HTTPAndroidRequest(this, resource, callback, response); + return new HTTPAndroidRequest(this, url, callback, response); } -HTTPAndroidRequest::HTTPAndroidRequest(HTTPAndroidContext* context_, const Resource& resource_, Callback callback_, std::shared_ptr<const Response> response_) - : HTTPRequestBase(resource_, callback_), +HTTPAndroidRequest::HTTPAndroidRequest(HTTPAndroidContext* context_, const std::string& url_, Callback callback_, std::shared_ptr<const Response> response_) + : HTTPRequestBase(url_, callback_), context(context_), existingResponse(response_), async([this] { finish(); }) { @@ -135,7 +134,7 @@ HTTPAndroidRequest::HTTPAndroidRequest(HTTPAndroidContext* context_, const Resou JNIEnv *env = nullptr; bool detach = mbgl::android::attach_jni_thread(context->vm, &env, "HTTPAndroidContext::HTTPAndroidRequest()"); - jstring resourceUrl = mbgl::android::std_string_to_jstring(env, resource.url); + jstring resourceUrl = mbgl::android::std_string_to_jstring(env, url); jstring userAgent = mbgl::android::std_string_to_jstring(env, "MapboxGL/1.0"); jstring etag = mbgl::android::std_string_to_jstring(env, etagStr); jstring modified = mbgl::android::std_string_to_jstring(env, modifiedStr); diff --git a/platform/darwin/http_request_nsurl.mm b/platform/darwin/http_request_nsurl.mm index 372fa8d619..11c8100e60 100644 --- a/platform/darwin/http_request_nsurl.mm +++ b/platform/darwin/http_request_nsurl.mm @@ -1,6 +1,5 @@ #include <mbgl/storage/http_context_base.hpp> #include <mbgl/storage/http_request_base.hpp> -#include <mbgl/storage/resource.hpp> #include <mbgl/storage/response.hpp> #include <mbgl/util/async_task.hpp> @@ -19,7 +18,7 @@ class HTTPNSURLContext; class HTTPNSURLRequest : public HTTPRequestBase { public: HTTPNSURLRequest(HTTPNSURLContext*, - const Resource&, + const std::string& url, Callback, std::shared_ptr<const Response>); ~HTTPNSURLRequest(); @@ -45,7 +44,7 @@ public: HTTPNSURLContext(); ~HTTPNSURLContext(); - HTTPRequestBase* createRequest(const Resource&, + HTTPRequestBase* createRequest(const std::string& url, RequestBase::Callback, std::shared_ptr<const Response>) final; @@ -81,24 +80,24 @@ HTTPNSURLContext::~HTTPNSURLContext() { userAgent = nullptr; } -HTTPRequestBase* HTTPNSURLContext::createRequest(const Resource& resource, +HTTPRequestBase* HTTPNSURLContext::createRequest(const std::string& url, RequestBase::Callback callback, std::shared_ptr<const Response> response) { - return new HTTPNSURLRequest(this, resource, callback, response); + return new HTTPNSURLRequest(this, url, callback, response); } // ------------------------------------------------------------------------------------------------- HTTPNSURLRequest::HTTPNSURLRequest(HTTPNSURLContext* context_, - const Resource& resource_, + const std::string& url_, Callback callback_, std::shared_ptr<const Response> existingResponse_) - : HTTPRequestBase(resource_, callback_), + : HTTPRequestBase(url_, callback_), context(context_), existingResponse(existingResponse_), async([this] { handleResponse(); }) { @autoreleasepool { - NSURL* url = [NSURL URLWithString:@(resource.url.c_str())]; + NSURL* url = [NSURL URLWithString:@(url_.c_str())]; if (context->accountType == 0 && ([url.host isEqualToString:@"mapbox.com"] || [url.host hasSuffix:@".mapbox.com"])) { NSString* absoluteString = [url.absoluteString diff --git a/platform/default/asset_request_fs.cpp b/platform/default/asset_request_fs.cpp index 3ff0e62cfd..2ef22f9586 100644 --- a/platform/default/asset_request_fs.cpp +++ b/platform/default/asset_request_fs.cpp @@ -1,5 +1,4 @@ #include <mbgl/storage/asset_context_base.hpp> -#include <mbgl/storage/resource.hpp> #include <mbgl/storage/response.hpp> #include <mbgl/util/string.hpp> #include <mbgl/util/thread.hpp> @@ -67,7 +66,7 @@ class AssetRequest : public RequestBase { MBGL_STORE_THREAD(tid) public: - AssetRequest(const Resource&, Callback, const std::string& assetRoot, + AssetRequest(const std::string& url, Callback, const std::string& assetRoot, util::Thread<FileIOWorker> *worker); ~AssetRequest(); @@ -100,10 +99,10 @@ public: : worker({"FileIOWorker", util::ThreadType::Worker, util::ThreadPriority::Regular}) {} private: - RequestBase* createRequest(const Resource& resource, + RequestBase* createRequest(const std::string& url, RequestBase::Callback callback, const std::string& assetRoot) final { - return new AssetRequest(resource, callback, assetRoot, &worker); + return new AssetRequest(url, callback, assetRoot, &worker); } util::Thread<FileIOWorker> worker; @@ -113,12 +112,11 @@ AssetRequest::~AssetRequest() { MBGL_VERIFY_THREAD(tid); } -AssetRequest::AssetRequest(const Resource& resource_, Callback callback_, +AssetRequest::AssetRequest(const std::string& url_, Callback callback_, const std::string& assetRoot_, util::Thread<FileIOWorker> *worker_) - : RequestBase(resource_, callback_), + : RequestBase(url_, callback_), assetRoot(assetRoot_), worker(worker_) { - const auto &url = resource.url; std::string path; if (url.size() <= 8 || url[8] == '/') { // This is an empty or absolute path. diff --git a/platform/default/asset_request_zip.cpp b/platform/default/asset_request_zip.cpp index b29166f673..76bf8bba14 100644 --- a/platform/default/asset_request_zip.cpp +++ b/platform/default/asset_request_zip.cpp @@ -1,5 +1,4 @@ #include <mbgl/storage/asset_context_base.hpp> -#include <mbgl/storage/resource.hpp> #include <mbgl/storage/response.hpp> #include <mbgl/util/chrono.hpp> #include <mbgl/util/util.hpp> @@ -97,7 +96,7 @@ class AssetRequest : public RequestBase { MBGL_STORE_THREAD(tid) public: - AssetRequest(const Resource&, Callback, const std::string& assetRoot, + AssetRequest(const std::string& url, Callback, const std::string& assetRoot, AssetZipContext* context, util::Thread<ZipIOWorker>* worker); ~AssetRequest(); @@ -136,10 +135,10 @@ public: AssetZipContext(); ~AssetZipContext(); - RequestBase* createRequest(const Resource& resource, + RequestBase* createRequest(const std::string& url, RequestBase::Callback callback, const std::string& assetRoot) final { - return new AssetRequest(resource, callback, assetRoot, this, &worker); + return new AssetRequest(url, callback, assetRoot, this, &worker); } struct zip *getHandle(const std::string &path); @@ -182,11 +181,11 @@ void AssetZipContext::returnHandle(const std::string &path, struct zip* archive) handles[path].push_front(archive); } -AssetRequest::AssetRequest(const Resource& resource_, Callback callback_, +AssetRequest::AssetRequest(const std::string& url_, Callback callback_, const std::string& assetRoot, AssetZipContext* context_, util::Thread<ZipIOWorker>* worker_) - : RequestBase(resource_, callback_), + : RequestBase(url_, callback_), root(assetRoot), - path(std::string("assets/") + resource.url.substr(8)), + path(std::string("assets/") + url.substr(8)), context(context_), worker(worker_) { archive = context->getHandle(root); diff --git a/platform/default/http_request_curl.cpp b/platform/default/http_request_curl.cpp index 065b90501b..e1ea931fbe 100644 --- a/platform/default/http_request_curl.cpp +++ b/platform/default/http_request_curl.cpp @@ -1,6 +1,5 @@ #include <mbgl/storage/http_context_base.hpp> #include <mbgl/storage/http_request_base.hpp> -#include <mbgl/storage/resource.hpp> #include <mbgl/storage/response.hpp> #include <mbgl/platform/log.hpp> @@ -47,7 +46,7 @@ public: HTTPCURLContext(); ~HTTPCURLContext(); - HTTPRequestBase* createRequest(const Resource&, + HTTPRequestBase* createRequest(const std::string& url, RequestBase::Callback, std::shared_ptr<const Response>) final; @@ -80,7 +79,7 @@ class HTTPCURLRequest : public HTTPRequestBase { public: HTTPCURLRequest(HTTPCURLContext*, - const Resource&, + const std::string& url, Callback, std::shared_ptr<const Response>); ~HTTPCURLRequest(); @@ -139,10 +138,10 @@ HTTPCURLContext::~HTTPCURLContext() { timeout.stop(); } -HTTPRequestBase* HTTPCURLContext::createRequest(const Resource& resource, +HTTPRequestBase* HTTPCURLContext::createRequest(const std::string& url, RequestBase::Callback callback, std::shared_ptr<const Response> response) { - return new HTTPCURLRequest(this, resource, callback, response); + return new HTTPCURLRequest(this, url, callback, response); } CURL *HTTPCURLContext::getHandle() { @@ -353,8 +352,8 @@ static CURLcode sslctx_function(CURL * /* curl */, void *sslctx, void * /* parm } #endif -HTTPCURLRequest::HTTPCURLRequest(HTTPCURLContext* context_, const Resource& resource_, Callback callback_, std::shared_ptr<const Response> response_) - : HTTPRequestBase(resource_, callback_), +HTTPCURLRequest::HTTPCURLRequest(HTTPCURLContext* context_, const std::string& url_, Callback callback_, std::shared_ptr<const Response> response_) + : HTTPRequestBase(url_, callback_), context(context_), existingResponse(response_), handle(context->getHandle()) { @@ -387,7 +386,7 @@ HTTPCURLRequest::HTTPCURLRequest(HTTPCURLContext* context_, const Resource& reso handleError(curl_easy_setopt(handle, CURLOPT_CAINFO, "ca-bundle.crt")); #endif handleError(curl_easy_setopt(handle, CURLOPT_FOLLOWLOCATION, 1)); - handleError(curl_easy_setopt(handle, CURLOPT_URL, resource.url.c_str())); + handleError(curl_easy_setopt(handle, CURLOPT_URL, url.c_str())); handleError(curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writeCallback)); handleError(curl_easy_setopt(handle, CURLOPT_WRITEDATA, this)); handleError(curl_easy_setopt(handle, CURLOPT_HEADERFUNCTION, headerCallback)); diff --git a/platform/default/online_file_source.cpp b/platform/default/online_file_source.cpp index 22c3684e7d..59cebbe543 100644 --- a/platform/default/online_file_source.cpp +++ b/platform/default/online_file_source.cpp @@ -301,10 +301,10 @@ void OnlineFileSource::Impl::startRealRequest(OnlineFileRequestImpl& request) { if (algo::starts_with(request.resource.url, "asset://")) { request.realRequest = - assetContext->createRequest(request.resource, callback, assetRoot); + assetContext->createRequest(request.resource.url, callback, assetRoot); } else { request.realRequest = - httpContext->createRequest(request.resource, callback, request.getResponse()); + httpContext->createRequest(request.resource.url, callback, request.getResponse()); } } |