diff options
Diffstat (limited to 'platform/android/src/style/sources/custom_vector_source.hpp')
-rw-r--r-- | platform/android/src/style/sources/custom_vector_source.hpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/platform/android/src/style/sources/custom_vector_source.hpp b/platform/android/src/style/sources/custom_vector_source.hpp new file mode 100644 index 0000000000..8e21393b30 --- /dev/null +++ b/platform/android/src/style/sources/custom_vector_source.hpp @@ -0,0 +1,46 @@ +#pragma once + +#include "source.hpp" +#include <mbgl/style/sources/custom_vector_source.hpp> +#include <mbgl/util/geojson.hpp> +#include <mbgl/tile/tile_id.hpp> +#include "../../geojson/geometry.hpp" +#include "../../geojson/feature.hpp" +#include "../../geojson/feature_collection.hpp" +#include <jni/jni.hpp> + +namespace mbgl { +namespace android { + +class CustomVectorSource : public Source { +public: + + static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/sources/CustomVectorSource"; }; + + static jni::Class<CustomVectorSource> javaClass; + + static void registerNative(jni::JNIEnv&); + + CustomVectorSource(jni::JNIEnv&, + jni::Object<CustomVectorSource>, + jni::String, + jni::Object<>); + + CustomVectorSource(mbgl::style::CustomVectorSource&); + + ~CustomVectorSource(); + + void fetchTile(const mbgl::CanonicalTileID& tileID); + void cancelTile(const mbgl::CanonicalTileID& tileID); + void setTileData(jni::JNIEnv& env, jni::jint z, jni::jint x, jni::jint y, jni::Object<geojson::FeatureCollection> jf); + + jni::Array<jni::Object<geojson::Feature>> querySourceFeatures(jni::JNIEnv&, + jni::Array<jni::Object<>> ); + + jni::jobject* createJavaPeer(jni::JNIEnv&); + + GenericUniqueWeakObject<CustomVectorSource> javaPeer; +}; // class CustomVectorSource + +} // namespace android +} // namespace mbgl |