diff options
Diffstat (limited to 'platform/default/src/mbgl/storage/asset_file_source.cpp')
-rw-r--r-- | platform/default/src/mbgl/storage/asset_file_source.cpp | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/platform/default/src/mbgl/storage/asset_file_source.cpp b/platform/default/src/mbgl/storage/asset_file_source.cpp index b14d73045f..7abd609b19 100644 --- a/platform/default/src/mbgl/storage/asset_file_source.cpp +++ b/platform/default/src/mbgl/storage/asset_file_source.cpp @@ -1,15 +1,17 @@ #include <mbgl/storage/asset_file_source.hpp> #include <mbgl/storage/file_source_request.hpp> #include <mbgl/storage/local_file_request.hpp> +#include <mbgl/storage/resource.hpp> #include <mbgl/storage/response.hpp> +#include <mbgl/util/constants.hpp> #include <mbgl/util/string.hpp> #include <mbgl/util/thread.hpp> #include <mbgl/util/url.hpp> namespace { - -const std::string assetProtocol = "asset://"; - +bool acceptsURL(const std::string& url) { + return 0 == url.rfind(mbgl::util::ASSET_PROTOCOL, 0); +} } // namespace namespace mbgl { @@ -30,7 +32,8 @@ public: } // Cut off the protocol and prefix with path. - const auto path = root + "/" + mbgl::util::percentDecode(url.substr(assetProtocol.size())); + const auto path = + root + "/" + mbgl::util::percentDecode(url.substr(std::char_traits<char>::length(util::ASSET_PROTOCOL))); requestLocalFile(path, std::move(req)); } @@ -52,8 +55,16 @@ std::unique_ptr<AsyncRequest> AssetFileSource::request(const Resource& resource, return std::move(req); } -bool AssetFileSource::acceptsURL(const std::string& url) { - return 0 == url.rfind(assetProtocol, 0); +bool AssetFileSource::canRequest(const Resource& resource) const { + return acceptsURL(resource.url); +} + +void AssetFileSource::pause() { + impl->pause(); +} + +void AssetFileSource::resume() { + impl->resume(); } } // namespace mbgl |