18c339a94Sopenharmony_ci/* 28c339a94Sopenharmony_ci* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 38c339a94Sopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License"); 48c339a94Sopenharmony_ci* you may not use this file except in compliance with the License. 58c339a94Sopenharmony_ci* You may obtain a copy of the License at 68c339a94Sopenharmony_ci* 78c339a94Sopenharmony_ci* http://www.apache.org/licenses/LICENSE-2.0 88c339a94Sopenharmony_ci* 98c339a94Sopenharmony_ci* Unless required by applicable law or agreed to in writing, software 108c339a94Sopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS, 118c339a94Sopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 128c339a94Sopenharmony_ci* See the License for the specific language governing permissions and 138c339a94Sopenharmony_ci* limitations under the License. 148c339a94Sopenharmony_ci*/ 158c339a94Sopenharmony_ciimport { AsyncCallback, Callback } from './basic'; 168c339a94Sopenharmony_cideclare namespace napitest { 178c339a94Sopenharmony_ci 188c339a94Sopenharmony_ci// 测试普通方法 198c339a94Sopenharmony_cifunction funcTest(v: boolean): string; 208c339a94Sopenharmony_ci 218c339a94Sopenharmony_ci// 测试注册回调与调用回调 228c339a94Sopenharmony_ciexport class NodeISayHello 238c339a94Sopenharmony_ci{ 248c339a94Sopenharmony_ci // 注册object回调 258c339a94Sopenharmony_ci addSayHelloListener(listener: NodeISayHelloListener); 268c339a94Sopenharmony_ci // 注销object回调 278c339a94Sopenharmony_ci removeSayHelloListener(listener: NodeISayHelloListener); 288c339a94Sopenharmony_ci 298c339a94Sopenharmony_ci // register注册回调 308c339a94Sopenharmony_ci registerCallbackfunc(cb : (wid: number) => string); 318c339a94Sopenharmony_ci // unRegister注销回调 328c339a94Sopenharmony_ci unRegisterCallbackfunc(cb : (wid: number) => string); 338c339a94Sopenharmony_ci 348c339a94Sopenharmony_ci // 调用注册的object回调 358c339a94Sopenharmony_ci sayHello(from: string, to: string, sayType: SayType); 368c339a94Sopenharmony_ci // 调用register注册的回调 378c339a94Sopenharmony_ci sayHi(from: string, to: string, sayType: SayType); 388c339a94Sopenharmony_ci 398c339a94Sopenharmony_ci // promise回调 408c339a94Sopenharmony_ci sayHelloWithResponse(from: string, to: string, sayType: SayType): Promise<{result: number, errMsg: string, response: string}>; 418c339a94Sopenharmony_ci 428c339a94Sopenharmony_ci} 438c339a94Sopenharmony_ci 448c339a94Sopenharmony_ciexport class NodeISayHelloListener 458c339a94Sopenharmony_ci{ 468c339a94Sopenharmony_ci onSayHelloStart(info: SayInfo); 478c339a94Sopenharmony_ci onSayHelloEnd(info: SayInfo); 488c339a94Sopenharmony_ci} 498c339a94Sopenharmony_ci 508c339a94Sopenharmony_ciexport enum SayType 518c339a94Sopenharmony_ci{ 528c339a94Sopenharmony_ci /** 0 主动说话 */ 538c339a94Sopenharmony_ci kInitiative, 548c339a94Sopenharmony_ci /** 1 回应对方 */ 558c339a94Sopenharmony_ci kResponse, 568c339a94Sopenharmony_ci} 578c339a94Sopenharmony_ci 588c339a94Sopenharmony_ciexport type SayInfo = 598c339a94Sopenharmony_ci{ 608c339a94Sopenharmony_ci from: string; 618c339a94Sopenharmony_ci fromId?: number; 628c339a94Sopenharmony_ci to: string; 638c339a94Sopenharmony_ci toId?: number; 648c339a94Sopenharmony_ci content: string; 658c339a94Sopenharmony_ci saidTime: string; 668c339a94Sopenharmony_ci isEnd: boolean; 678c339a94Sopenharmony_ci} 688c339a94Sopenharmony_ci 698c339a94Sopenharmony_ci} 708c339a94Sopenharmony_ci 718c339a94Sopenharmony_ciexport default napitest; 72