static jboolean JNICALL JniIsArray(JNIEnv* env, jclass clazz, jlong ptr) { try { return JniGetJsValue(ptr)->IsArray() ? JNI_TRUE : JNI_FALSE; } CATCH_THROW_AND_RETURN(env, JNI_FALSE) }
static jobject JNICALL JniGetProperty(JNIEnv* env, jclass clazz, jlong ptr, jstring name) { try { return NewJniJsValue(env, JniGetJsValue(ptr)->GetProperty(JniJavaToStdString(env, name))); } CATCH_THROW_AND_RETURN(env, 0) }
static jlong JNICALL JniAsLong(JNIEnv* env, jclass clazz, jlong ptr) { try { return static_cast<jlong>(JniGetJsValue(ptr)->AsInt()); } CATCH_THROW_AND_RETURN(env, 0) }
static jstring JNICALL JniAsString(JNIEnv* env, jclass clazz, jlong ptr) { try { return env->NewStringUTF(JniGetJsValue(ptr)->AsString().c_str()); } CATCH_THROW_AND_RETURN(env, 0) }
static jobject JNICALL JniAsList(JNIEnv* env, jclass clazz, jlong ptr) { try { AdblockPlus::JsValueList list = JniGetJsValue(ptr)->AsList(); return JniJsValueListToArrayList(env, list); } CATCH_THROW_AND_RETURN(env, 0) }
static void JNICALL JniSetPref(JNIEnv* env, jclass clazz, jlong ptr, jstring jPref, jlong jsValue) { AdblockPlus::FilterEngine& engine = GetFilterEngineRef(ptr); std::string pref = JniJavaToStdString(env, jPref); const AdblockPlus::JsValue& value = JniGetJsValue(jsValue); try { engine.SetPref(pref, value); } CATCH_AND_THROW(env) }