From 5d42321b73dcafbfd76d38331558e5e60f7d9f1e Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Mon, 8 Feb 2016 16:16:37 -0800 Subject: [core] Make {Default,Online}FileSource::Impl more similar --- platform/default/default_file_source.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'platform/default/default_file_source.cpp') 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(resource, callback, this); } @@ -147,21 +147,6 @@ private: bool offline = false; }; -class DefaultFileRequest : public FileRequest { -public: - DefaultFileRequest(Resource resource, FileSource::Callback callback, util::Thread& thread_) - : thread(thread_), - workRequest(thread.invokeWithCallback(&DefaultFileSource::Impl::add, callback, this, resource)) { - } - - ~DefaultFileRequest() { - thread.invoke(&DefaultFileSource::Impl::cancel, this); - } - - util::Thread& thread; - std::unique_ptr workRequest; -}; - DefaultFileSource::DefaultFileSource(const std::string& cachePath, const std::string& assetRoot) : thread(std::make_unique>(util::ThreadContext{"DefaultFileSource", util::ThreadType::Unknown, util::ThreadPriority::Low}, cachePath)), assetFileSource(std::make_unique(assetRoot)) { @@ -186,6 +171,21 @@ void DefaultFileSource::setMaximumCacheEntrySize(uint64_t) { } std::unique_ptr DefaultFileSource::request(const Resource& resource, Callback callback) { + class DefaultFileRequest : public FileRequest { + public: + DefaultFileRequest(Resource resource_, FileSource::Callback callback_, util::Thread& thread_) + : thread(thread_), + workRequest(thread.invokeWithCallback(&DefaultFileSource::Impl::request, callback_, this, resource_)) { + } + + ~DefaultFileRequest() { + thread.invoke(&DefaultFileSource::Impl::cancel, this); + } + + util::Thread& thread; + std::unique_ptr workRequest; + }; + if (isAssetURL(resource.url)) { return assetFileSource->request(resource, callback); } else { -- cgit v1.2.1