diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/mbgl/style/conversion/geojson.hpp | 14 | ||||
-rw-r--r-- | include/mbgl/style/conversion/source.hpp | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/include/mbgl/style/conversion/geojson.hpp b/include/mbgl/style/conversion/geojson.hpp index 6e6e97dbc0..0b594f066c 100644 --- a/include/mbgl/style/conversion/geojson.hpp +++ b/include/mbgl/style/conversion/geojson.hpp @@ -1,14 +1,22 @@ #pragma once #include <mbgl/style/conversion.hpp> -#include <mbgl/style/sources/geojson_source.hpp> +#include <mbgl/util/geojson.hpp> namespace mbgl { namespace style { namespace conversion { -template <class V> -optional<GeoJSON> convertGeoJSON(const V& value, Error& error); +template <> +struct Converter<GeoJSON> { +public: + optional<GeoJSON> operator()(const std::string&, Error&) const; + + // This is explicitly specialized in the .cpp file for JSValue. It may also be explicitly + // specialized for SDK-specific types (e.g. mbgl::android::Value). + template <class V> + optional<GeoJSON> operator()(const V&, Error&) const; +}; } // namespace conversion } // namespace style diff --git a/include/mbgl/style/conversion/source.hpp b/include/mbgl/style/conversion/source.hpp index 2371183b1c..dc7cdc0d42 100644 --- a/include/mbgl/style/conversion/source.hpp +++ b/include/mbgl/style/conversion/source.hpp @@ -122,7 +122,7 @@ private: auto result = std::make_unique<GeoJSONSource>(id, *options); if (isObject(*dataValue)) { - optional<GeoJSON> geoJSON = convertGeoJSON(*dataValue, error); + optional<GeoJSON> geoJSON = convert<GeoJSON>(*dataValue, error); if (!geoJSON) { return {}; } |