summaryrefslogtreecommitdiff
path: root/platform/default/default_file_source.cpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-02-08 16:16:37 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-02-10 15:40:20 -0800
commit5d42321b73dcafbfd76d38331558e5e60f7d9f1e (patch)
treee4f81086e2838485655d672209fbc1ce109fe0f6 /platform/default/default_file_source.cpp
parent96e0e5252e27e231021df9058cf1e5bc29181345 (diff)
downloadqtlocation-mapboxgl-5d42321b73dcafbfd76d38331558e5e60f7d9f1e.tar.gz
[core] Make {Default,Online}FileSource::Impl more similar
Diffstat (limited to 'platform/default/default_file_source.cpp')
-rw-r--r--platform/default/default_file_source.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp
index 5bb171f7c2..cdf5e1e442 100644
--- a/platform/default/default_file_source.cpp
+++ b/platform/default/default_file_source.cpp
@@ -114,7 +114,7 @@ public:
getDownload(regionID).setState(state);
}
- void add(FileRequest* req, Resource resource, Callback callback) {
+ void request(FileRequest* req, Resource resource, Callback callback) {
tasks[req] = std::make_unique<Task>(resource, callback, this);
}
@@ -147,21 +147,6 @@ private:
bool offline = false;
};
-class DefaultFileRequest : public FileRequest {
-public:
- DefaultFileRequest(Resource resource, FileSource::Callback callback, util::Thread<DefaultFileSource::Impl>& thread_)
- : thread(thread_),
- workRequest(thread.invokeWithCallback(&DefaultFileSource::Impl::add, callback, this, resource)) {
- }
-
- ~DefaultFileRequest() {
- thread.invoke(&DefaultFileSource::Impl::cancel, this);
- }
-
- util::Thread<DefaultFileSource::Impl>& thread;
- std::unique_ptr<WorkRequest> workRequest;
-};
-
DefaultFileSource::DefaultFileSource(const std::string& cachePath, const std::string& assetRoot)
: thread(std::make_unique<util::Thread<DefaultFileSource::Impl>>(util::ThreadContext{"DefaultFileSource", util::ThreadType::Unknown, util::ThreadPriority::Low}, cachePath)),
assetFileSource(std::make_unique<AssetFileSource>(assetRoot)) {
@@ -186,6 +171,21 @@ void DefaultFileSource::setMaximumCacheEntrySize(uint64_t) {
}
std::unique_ptr<FileRequest> DefaultFileSource::request(const Resource& resource, Callback callback) {
+ class DefaultFileRequest : public FileRequest {
+ public:
+ DefaultFileRequest(Resource resource_, FileSource::Callback callback_, util::Thread<DefaultFileSource::Impl>& thread_)
+ : thread(thread_),
+ workRequest(thread.invokeWithCallback(&DefaultFileSource::Impl::request, callback_, this, resource_)) {
+ }
+
+ ~DefaultFileRequest() {
+ thread.invoke(&DefaultFileSource::Impl::cancel, this);
+ }
+
+ util::Thread<DefaultFileSource::Impl>& thread;
+ std::unique_ptr<WorkRequest> workRequest;
+ };
+
if (isAssetURL(resource.url)) {
return assetFileSource->request(resource, callback);
} else {