#pragma once #include #include "asset_manager.hpp" #include namespace mbgl { template class Actor; class ResourceTransform; namespace android { /** * Peer class for the Android FileSource holder. Ensures that a single DefaultFileSource is used */ class FileSource { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/storage/FileSource"; }; struct ResourceTransformCallback { static constexpr auto Name() { return "com/mapbox/mapboxsdk/storage/FileSource$ResourceTransformCallback"; } static std::string onURL(jni::JNIEnv&, jni::Object, int, std::string); static jni::Class javaClass; }; FileSource(jni::JNIEnv&, jni::String, jni::String, jni::Object); ~FileSource(); jni::String getAccessToken(jni::JNIEnv&); void setAccessToken(jni::JNIEnv&, jni::String); void setAPIBaseUrl(jni::JNIEnv&, jni::String); void setResourceTransform(jni::JNIEnv&, jni::Object); static jni::Class javaClass; static FileSource* getNativePeer(jni::JNIEnv&, jni::Object); static mbgl::DefaultFileSource& getDefaultFileSource(jni::JNIEnv&, jni::Object); static void registerNative(jni::JNIEnv&); private: std::unique_ptr> resourceTransform; std::unique_ptr fileSource; }; } // namespace android } // namespace mbgl