#include #include #include #include #include #include #include namespace mbgl { class DefaultFileSourceManagerImpl final : public FileSourceManager { public: DefaultFileSourceManagerImpl() { registerFileSourceFactory(FileSourceType::ResourceLoader, [](const ResourceOptions& options) { return std::make_unique(options); }); registerFileSourceFactory(FileSourceType::Asset, [](const ResourceOptions& options) { return std::make_unique(options.assetPath()); }); registerFileSourceFactory(FileSourceType::Database, [](const ResourceOptions& options) { return std::make_unique(options); }); registerFileSourceFactory(FileSourceType::FileSystem, [](const ResourceOptions&) { return std::make_unique(); }); registerFileSourceFactory(FileSourceType::Network, [](const ResourceOptions& options) { auto networkSource = std::make_unique(); networkSource->setProperty(ACCESS_TOKEN_KEY, options.accessToken()); networkSource->setProperty(API_BASE_URL_KEY, options.baseURL()); return networkSource; }); } }; FileSourceManager* FileSourceManager::get() noexcept { static DefaultFileSourceManagerImpl instance; return &instance; } } // namespace mbgl