#pragma once #include "json_element.hpp" #include #include namespace mbgl { namespace android { namespace gson { class JsonPrimitive : public JsonElement { public: using value = mapbox::util::variant; static constexpr auto Name() { return "com/google/gson/JsonPrimitive"; }; static jni::Object New(jni::JNIEnv&, const value&); static value convert(JNIEnv&, jni::Object); static bool isBoolean(JNIEnv&, jni::Object); static bool isString(JNIEnv&, jni::Object); static bool isNumber(JNIEnv&, jni::Object); static bool getAsBoolean(JNIEnv&, jni::Object); static std::string getAsString(JNIEnv&, jni::Object); static double getAsDouble(JNIEnv&, jni::Object); static void registerNative(jni::JNIEnv&); }; } // namespace gson } // namespace android } // namespace mbgl