summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2015-12-23 14:16:15 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2015-12-23 14:30:20 -0800
commitc972a251da6e6bc5dadf243045181462ffb01700 (patch)
treef409b2cca1bbbd0fd825c98996d4c7879c5069e7 /platform
parent16de579d7cfc2960793cbcb5e95741f22ab73768 (diff)
downloadqtlocation-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.cpp15
-rw-r--r--platform/darwin/http_request_nsurl.mm15
-rw-r--r--platform/default/asset_request_fs.cpp12
-rw-r--r--platform/default/asset_request_zip.cpp13
-rw-r--r--platform/default/http_request_curl.cpp15
-rw-r--r--platform/default/online_file_source.cpp4
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());
}
}