summaryrefslogtreecommitdiff
path: root/include/mbgl/storage/default_file_source.hpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2015-04-13 17:57:45 +0200
committerKonstantin Käfer <mail@kkaefer.com>2015-04-13 17:57:45 +0200
commit16849a341b72c0633be1e3c89498c883d6efb000 (patch)
tree7450e1c745c8dcd48af809a116bf4899cbc33608 /include/mbgl/storage/default_file_source.hpp
parent278e6bd556865aa8cad688d4c671d19a1f5e6871 (diff)
downloadqtlocation-mapboxgl-16849a341b72c0633be1e3c89498c883d6efb000.tar.gz
hide Thread<> and separate the Implementation object
Diffstat (limited to 'include/mbgl/storage/default_file_source.hpp')
-rw-r--r--include/mbgl/storage/default_file_source.hpp29
1 files changed, 4 insertions, 25 deletions
diff --git a/include/mbgl/storage/default_file_source.hpp b/include/mbgl/storage/default_file_source.hpp
index f6028217ea..372dee909b 100644
--- a/include/mbgl/storage/default_file_source.hpp
+++ b/include/mbgl/storage/default_file_source.hpp
@@ -5,22 +5,13 @@
#include <mbgl/storage/file_cache.hpp>
#include <mbgl/util/run_loop.hpp>
-#include <set>
-#include <unordered_map>
-
namespace mbgl {
-class SharedRequestBase;
-
-class DefaultFileSource : public FileSource, protected util::RunLoop {
- friend class util::Thread<DefaultFileSource>;
- friend class SharedRequestBase;
-
-private:
+class DefaultFileSource : public FileSource {
+public:
DefaultFileSource(FileCache *cache, const std::string &root = "");
~DefaultFileSource() override;
-public:
// FileSource API
Request *request(const Resource &resource, uv_loop_t *loop, const Environment &env,
Callback callback) override;
@@ -29,22 +20,10 @@ public:
void abort(const Environment &env) override;
-private:
- void notify(SharedRequestBase *sharedRequest, const std::set<Request *> &observers,
- std::shared_ptr<const Response> response, FileCache::Hint hint);
- SharedRequestBase *find(const Resource &resource);
-
- void processAdd(Request* request);
- void processCancel(Request* request);
- void processResult(const Resource& resource, std::shared_ptr<const Response> response);
- void processAbort(const Environment& env);
-
public:
- const std::string assetRoot;
-
+ class Impl;
private:
- std::unordered_map<Resource, SharedRequestBase *, Resource::Hash> pending;
- FileCache *cache = nullptr;
+ const std::unique_ptr<util::Thread<Impl>> thread;
};
}