diff options
Diffstat (limited to 'src/mbgl/style/sources/vector_source.cpp')
-rw-r--r-- | src/mbgl/style/sources/vector_source.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/mbgl/style/sources/vector_source.cpp b/src/mbgl/style/sources/vector_source.cpp index c08be53e6f..39f6fde76c 100644 --- a/src/mbgl/style/sources/vector_source.cpp +++ b/src/mbgl/style/sources/vector_source.cpp @@ -30,8 +30,11 @@ const VectorSource::Impl& VectorSource::impl() const { return static_cast<const Impl&>(*baseImpl); } -const variant<std::string, Tileset>* VectorSource::getURLOrTileset() const { - return &urlOrTileset; +const Tileset* VectorSource::getTileset() const { + if (urlOrTileset.is<Tileset>()) { + return &urlOrTileset.get<Tileset>(); + } + return nullptr; } optional<std::string> VectorSource::getURL() const { @@ -42,6 +45,14 @@ optional<std::string> VectorSource::getURL() const { return urlOrTileset.get<std::string>(); } +optional<Resource> VectorSource::getResource() const { + if (urlOrTileset.is<std::string>()) { + return Resource::source(urlOrTileset.get<std::string>()); + } + + return nullopt; +} + void VectorSource::loadDescription(FileSource& fileSource) { if (urlOrTileset.is<Tileset>()) { baseImpl = makeMutable<Impl>(impl(), urlOrTileset.get<Tileset>()); @@ -100,7 +111,7 @@ Mutable<Source::Impl> VectorSource::createMutable() const noexcept { Value VectorSource::serialize() const { auto result = Source::serialize(); - serializeUrlOrTileSet(result, getURLOrTileset()); + serializeUrlOrTileSet(result, urlOrTileset); return result; } |