#pragma once #include #include "../../conversion/conversion.hpp" #include "../../conversion/constant.hpp" #include "types.hpp" #include "../../java/lang.hpp" #include #include "gson.hpp" #include #include namespace mbgl { namespace android { namespace conversion { template struct Converter> { Result operator()(jni::JNIEnv& env, const mbgl::style::CameraFunction& value) const { // Convert expressions mbgl::Value expressionValue = value.getExpression().serialize(); JsonEvaluator jsonEvaluator{env}; jni::jobject* converted = apply_visitor(jsonEvaluator, expressionValue); return converted; } }; template struct Converter> { Result operator()(jni::JNIEnv& env, const mbgl::style::SourceFunction& value) const { // Convert expressions mbgl::Value expressionValue = value.getExpression().serialize(); JsonEvaluator jsonEvaluator{env}; jni::jobject* converted = apply_visitor(jsonEvaluator, expressionValue); return converted; } }; template struct Converter> { Result operator()(jni::JNIEnv& env, const mbgl::style::CompositeFunction& value) const { // Convert expressions mbgl::Value expressionValue = value.getExpression().serialize(); JsonEvaluator jsonEvaluator{env}; jni::jobject* converted = apply_visitor(jsonEvaluator, expressionValue); return converted; } }; } // namespace conversion } // namespace android } // namespace mbgl