void MethodExecutorJni::run(jhobject jhTask, MethodResultJni& result) { if(shouldRunWithUiThread()) { runWithUiThread(jhTask); } else if(result.hasCallBackUrl() || shouldRunWithThread()) { runWithSeparateThread(jhTask); } else { run(jhTask); } }
rho::String js_s_SimpleOnlyStaticModule_joinStrings(rho::json::CJSONArray& argv, const rho::String& strObjID) { RAWTRACE2("%s(id=%s)", __FUNCTION__, strObjID.c_str()); MethodResultJni result; if(!result) { result.setError("JNI error: failed to initialize MethodResult java object"); RAWLOG_ERROR("JNI error: failed to initialize MethodResult java object ^^^"); return result.toJson(); } int argc = argv.getSize(); if((argc < 1) || (argc > 3)) { result.setArgError("Wrong number of arguments"); RAWLOG_ERROR1("Wrong number of arguments: %d ^^^", argc); return result.toJson(); } if(argc > 1) { if(argc > 2) result.setCallBack(argv[1], argv[2]); else result.setCallBack(argv[1]); if(!result.hasCallBackUrl()) { RAWLOG_ERROR("Error setting callback ^^^"); return result.toJson(); } } ObjectProxy::joinStrings(argumentsAdapter(argv), result); rho::String res = result.toJson(); RAWTRACE2("%s(id=%s) end ^^^", __FUNCTION__, strObjID.c_str()); return res; }