1 #pragma once
2 
3 #include <mbgl/storage/file_source.hpp>
4 
5 namespace mbgl {
6 
7 namespace util {
8 template <typename T> class Thread;
9 } // namespace util
10 
11 class AssetFileSource : public FileSource {
12 public:
13     AssetFileSource(const std::string& assetRoot);
14     ~AssetFileSource() override;
15 
16     std::unique_ptr<AsyncRequest> request(const Resource&, Callback) override;
17 
18     static bool acceptsURL(const std::string& url);
19 
20 private:
21     class Impl;
22 
23     std::unique_ptr<util::Thread<Impl>> impl;
24 };
25 
26 } // namespace mbgl
27