【5.0.3】napi_call_function 添加维测日志 已合并 冯纪拓:cherry_call OpenHarmony:OpenHarmony-5.0.3-Release 冯纪拓 创建于 2025-03-17 10:53 克隆/下载 add IssueNo: Description:(提交描述) Sig: SIG_ApplicationFramework Feature or Bug
在原生方法(初始化数据)、executeCB、completeCB之间传递数据structAddonData{napi_async_workasyncWork=nullptr;napi_deferreddeferred=nullptr;napi_refcallback=nullptr;doubleargs[2]={0};doubleresult=0;};// 业务逻辑处理函数,由worker线程池调度执行。
napi_value argv2[] = { jsCode, jsData, jsReply, jsOption }; napi_value return_val; napi_status ret = napi_call_function(param->env, thisVar, onRemoteRequest, argc2, argv2, &return_val); // Reset old calling pid, uid, device id NAPI_RemoteObject_resetOldCallingInfo(param->env, ...
napi_call_function(envs, nullptr, callback, 1, &jsObj, &undefine); //使用生成的JS参数,调用对应的JS回调函数 } buflen = strlen(str); //send(client_st, str, strlen(str), 0); } } return NULL; } //启动 static napi_value ServerStart(napi_env env, napi_callback_info info) { size...
{ // 声明该napi_module对外具体的提供的API为getHelloString DECLARE_NAPI_FUNCTION("getHelloString", getHelloString), }; NAPI_CALL(env, napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc)); return exports; } // 注册NAPI模块 // 1.先定义NAPI模块,指定当前NAPI模块...
("on",JsOn),DECLARE_NAPI_FUNCTION("off",JsOff),};napi_value sendFileClass=nullptr;napi_define_class(env,className,sizeof(className),JsConstructor,nullptr,sizeof(desc)/sizeof(desc[0]),desc,&sendFileClass);napi_set_named_property(env,exports,"SendFile",sendFileClass);SendFile::RegisterCall...
napi_value result =nullptr;// 反序列化napi_status status =napi_deserialize(env, serializationData, &result);if(status != napi_ok) {napi_throw_error(env,nullptr,"DeSerialize failed.");returnNULL; }returnresult; }staticnapi_valueDeleteSerializationData(napi_env env, napi_callback_info info){ ...
} 这里我们需要的是 CallBasis 接口,具体内容如下所述,这些就是之前应用层调用的一些事件对应的处理函数。 1. napi_value NapiCallManager::DeclareCallBasisInterface(napi_env env, napi_value exports) 2. { 3. napi_property_descriptor desc[] = { 4. DECLARE_NAPI_FUNCTION("dial", DialCall), 5. ...
OpenHarmony中集成了ffmpeg的第三方库,多媒体的很多功能实现需要ffmpeg库。另外,媒体文件的处理包含了对音视频裁剪、音视频分离等应用场景的处理,有些功能多媒体子系统没有提供给外部相应的接口,对此可以通过NAPI的机制实现一套JS接口,提供给应用层去调用,以此实现更多的多媒体功能 。
线程安全函数的使用步骤是,先 napi_create_threadsafe_function 创建函数引用, napi_call threadsafe_function 通过这个函数引用调用线程安全函数。 机制说明 napi create threadsafe_function 是通过创建 uv _async 实例 &async 并绑定 AsyncCb, 再在其他线程中调用napi_call_threadsafe_function(tsfn) 后 (tsfn数据结...