#pragma once #include #include #include #include "../file_source.hpp" #include "offline_region.hpp" #include "offline_region_definition.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&, jni::Object, std::exception_ptr); static void onList(jni::JNIEnv&, jni::Object, jni::Object, mbgl::optional>); }; class CreateOfflineRegionCallback { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/offline/OfflineManager$CreateOfflineRegionCallback"; } static void onError(jni::JNIEnv&, jni::Object, std::exception_ptr); static void onCreate(jni::JNIEnv&, jni::Object, jni::Object, mbgl::optional); }; static constexpr auto Name() { return "com/mapbox/mapboxsdk/offline/OfflineManager"; }; static void registerNative(jni::JNIEnv&); OfflineManager(jni::JNIEnv&, jni::Object); ~OfflineManager(); void setOfflineMapboxTileCountLimit(jni::JNIEnv&, jni::jlong limit); void listOfflineRegions(jni::JNIEnv&, jni::Object, jni::Object callback); void createOfflineRegion(jni::JNIEnv&, jni::Object jFileSource_, jni::Object definition, jni::Array metadata, jni::Object callback); private: mbgl::DefaultFileSource& fileSource; }; } // namespace android } // namespace mbgl