#pragma once #include #include #include namespace scwx::qt::map { enum class MapProvider { Mapbox, MapTiler, Unknown }; using MapProviderIterator = scwx::util:: Iterator; struct MapStyle { std::string name_; std::string url_; std::vector drawBelow_; [[nodiscard]] bool IsValid() const; }; struct MapProviderInfo { MapProvider mapProvider_ {MapProvider::Unknown}; std::string cacheDbName_ {}; QMapLibre::Settings::ProviderTemplate providerTemplate_ {}; std::vector mapStyles_ {}; }; MapProvider GetMapProvider(const std::string& name); std::string GetMapProviderName(MapProvider mapProvider); std::string GetMapProviderApiKey(MapProvider mapProvider); const MapProviderInfo& GetMapProviderInfo(MapProvider mapProvider); } // namespace scwx::qt::map