#include "unknown_layer.hpp" #include namespace { // Dummy initializer (We don't support initializing this from the JVM) std::unique_ptr init(jni::JNIEnv&) { throw new std::runtime_error("UnknownLayer should not be initialized from the JVM"); } } // namespace namespace mbgl { namespace android { UnknownLayer::UnknownLayer(mbgl::Map& map, mbgl::style::Layer& coreLayer) : Layer(map, coreLayer) { } UnknownLayer::UnknownLayer(mbgl::Map& map, std::unique_ptr coreLayer) : Layer(map, std::move(coreLayer)) { } jni::Class UnknownLayer::javaClass; jni::jobject* UnknownLayer::createJavaPeer(jni::JNIEnv& env) { static auto constructor = UnknownLayer::javaClass.template GetConstructor(env); return UnknownLayer::javaClass.New(env, constructor, reinterpret_cast(this)); } void UnknownLayer::registerNative(jni::JNIEnv& env) { // Lookup the class UnknownLayer::javaClass = *jni::Class::Find(env).NewGlobalRef(env).release(); #define METHOD(MethodPtr, name) jni::MakeNativePeerMethod(name) std::function(JNIEnv&)> initializer = nullptr; // Register the peer jni::RegisterNativePeer( env, UnknownLayer::javaClass, "nativePtr", init, "initialize", "finalize"); } } // namespace android } // namespace mbgl