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