#pragma once #include #include #include #include "layer.hpp" namespace mbgl { namespace android { class CustomLayer : public Layer { public: using SuperTag = Layer; static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/CustomLayer"; }; static void registerNative(jni::JNIEnv&); CustomLayer(jni::JNIEnv&, const jni::String&, jni::jlong); CustomLayer(mbgl::style::CustomLayer&); CustomLayer(std::unique_ptr); ~CustomLayer(); jni::Local> createJavaPeer(jni::JNIEnv&); }; // class CustomLayer class CustomJavaLayerPeerFactory final : public JavaLayerPeerFactory, public mbgl::CustomLayerFactory { public: ~CustomJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; LayerFactory* getLayerFactory() final { return this; } }; // class CustomJavaLayerPeerFactory } // namespace android } // namespace mbgl