diff options
Diffstat (limited to 'platform/android/src/style/sources')
-rw-r--r-- | platform/android/src/style/sources/sources.cpp | 28 | ||||
-rw-r--r-- | platform/android/src/style/sources/sources.hpp | 14 |
2 files changed, 42 insertions, 0 deletions
diff --git a/platform/android/src/style/sources/sources.cpp b/platform/android/src/style/sources/sources.cpp new file mode 100644 index 0000000000..47c9757e9d --- /dev/null +++ b/platform/android/src/style/sources/sources.cpp @@ -0,0 +1,28 @@ +#include "sources.hpp" + +#include "../value.hpp" +#include "../android_conversion.hpp" +#include "../android_geojson.hpp" + +#include <mbgl/util/constants.hpp> +#include <mbgl/style/conversion.hpp> +#include <mbgl/style/conversion/source.hpp> + +#include <string> + +namespace mbgl { +namespace android { + + mbgl::optional<std::unique_ptr<mbgl::style::Source>> convertToNativeSource(jni::JNIEnv& env, jni::Object<jni::jobject> jvalue, jni::String id) { + using namespace mbgl::style; + + Value value(env, jvalue); + conversion::Result<std::unique_ptr<Source>> source = conversion::convert<std::unique_ptr<Source>>(value, jni::Make<std::string>(env, id)); + if (!source) { + mbgl::Log::Error(mbgl::Event::JNI, "Unable to add source: " + source.error().message); + return {}; + } + return std::move(*source); + } +} +}
\ No newline at end of file diff --git a/platform/android/src/style/sources/sources.hpp b/platform/android/src/style/sources/sources.hpp new file mode 100644 index 0000000000..b967685dfb --- /dev/null +++ b/platform/android/src/style/sources/sources.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include <mbgl/style/source.hpp> +#include <mbgl/util/optional.hpp> + +#include <jni/jni.hpp> + +namespace mbgl { +namespace android { + + mbgl::optional<std::unique_ptr<mbgl::style::Source>> convertToNativeSource(jni::JNIEnv& env, jni::Object<jni::jobject> jsource, jni::String id); + +} +}
\ No newline at end of file |