summaryrefslogtreecommitdiff
path: root/src/mbgl/style/sources/vector_source.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/sources/vector_source.cpp')
-rw-r--r--src/mbgl/style/sources/vector_source.cpp17
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;
}