#pragma once #include #include #include #include "../file_source.hpp" #include "offline_region.hpp" #include "offline_region_definition.hpp" #include "../java_types.hpp" namespace mbgl { namespace android { class OfflineManager { public: class ListOfflineRegionsCallback { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/offline/OfflineManager$ListOfflineRegionsCallback";} static void onError(jni::JNIEnv&, const jni::Object&, std::exception_ptr); static void onList(jni::JNIEnv&, const jni::Object&, const jni::Object&, mbgl::OfflineRegions&); }; class CreateOfflineRegionCallback { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/offline/OfflineManager$CreateOfflineRegionCallback"; } static void onError(jni::JNIEnv&, const jni::Object&, std::exception_ptr); static void onCreate(jni::JNIEnv&, const jni::Object&, const jni::Object&, mbgl::OfflineRegion&); }; class MergeOfflineRegionsCallback { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/offline/OfflineManager$MergeOfflineRegionsCallback";} static void onError(jni::JNIEnv&, const jni::Object&, std::exception_ptr); static void onMerge(jni::JNIEnv&, const jni::Object&, const jni::Object&, mbgl::OfflineRegions&); }; static constexpr auto Name() { return "com/mapbox/mapboxsdk/offline/OfflineManager"; }; static void registerNative(jni::JNIEnv&); OfflineManager(jni::JNIEnv&, const jni::Object&); ~OfflineManager(); void setOfflineMapboxTileCountLimit(jni::JNIEnv&, jni::jlong limit); void listOfflineRegions(jni::JNIEnv&, const jni::Object&, const jni::Object& callback); void createOfflineRegion(jni::JNIEnv&, const jni::Object& jFileSource_, const jni::Object& definition, const jni::Array& metadata, const jni::Object& callback); void mergeOfflineRegions(jni::JNIEnv&, const jni::Object&, const jni::String&, const jni::Object&); private: mbgl::DefaultFileSource& fileSource; }; } // namespace android } // namespace mbgl