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) }
void JniEventCallback::Callback(AdblockPlus::JsValueList& params) { JNIEnvAcquire env(GetJavaVM()); jclass clazz = env->GetObjectClass(GetCallbackObject()); jmethodID method = env->GetMethodID(clazz, "eventCallback", "(Ljava/util/List;)V"); if (method) { jobject jsList = JniJsValueListToArrayList(*env, params); env->CallVoidMethod(GetCallbackObject(), method, jsList); } }
void JniEventCallback::Callback(AdblockPlus::JsValueList&& params) { JNIEnvAcquire env(GetJavaVM()); jmethodID method = env->GetMethodID( *JniLocalReference<jclass>(*env, env->GetObjectClass(GetCallbackObject())), "eventCallback", "(Ljava/util/List;)V"); if (method) { jobject jsList = JniJsValueListToArrayList(*env, std::move(params)); env->CallVoidMethod(GetCallbackObject(), method, jsList); } }