#include #include #include #include #include #include #include #include namespace mbgl { optional LayerFactory::getSource(const style::conversion::Convertible& value) const noexcept { auto sourceValue = objectMember(value, "source"); if (!sourceValue) { return nullopt; } optional source = toString(*sourceValue); if (!source) { return nullopt; } return source; } std::unique_ptr LayerFactory::createBucket(const BucketParameters&, const std::vector&) noexcept { assert(false); return nullptr; } std::unique_ptr LayerFactory::createLayout(const LayoutParameters&, std::unique_ptr, const std::vector&) noexcept { assert(false); return nullptr; } bool LayerFactory::initSourceLayerAndFilter(style::Layer* layer, const style::conversion::Convertible& value) const noexcept { auto sourceLayerValue = objectMember(value, "source-layer"); if (sourceLayerValue) { optional sourceLayer = toString(*sourceLayerValue); if (!sourceLayer) { return false; } layer->setSourceLayer(*sourceLayer); } auto filterValue = objectMember(value, "filter"); if (filterValue) { style::conversion::Error error; optional filter = style::conversion::convert(*filterValue, error); if (!filter) { return false; } layer->setFilter(*filter); } return true; } } // namespace mbgl