/* * Class: ai_madara_knowledge_Variables * Method: jni_evaluate * Signature: (JJJ)J */ jlong JNICALL Java_ai_madara_knowledge_Variables_jni_1evaluate__JJJ( JNIEnv* env, jobject, jlong cptr, jlong expression, jlong evalSettings) { KnowledgeRecord* result(0); Variables* vars = (Variables*)cptr; CompiledExpression* compiled = (CompiledExpression*)expression; EvalSettings* settings = (EvalSettings*)evalSettings; if (vars && compiled && settings) { result = new KnowledgeRecord(vars->evaluate(*compiled, *settings)); } else { // user has tried to use a deleted object. Clean up and throw madara::utility::java::throw_dead_obj_exception(env, "Variables::evaluate: " "Variables, CompiledExpression, or EvalSettings objects" " are released already"); } return (jlong)result; }