Name | Date | Size | ||
---|---|---|---|---|
.. | 25-Oct-2024 | 4 KiB | ||
docs/ | H | 25-Oct-2024 | 4 KiB | |
package.json | H A D | 25-Oct-2024 | 344 | |
README_ZH.md | H A D | 25-Oct-2024 | 4.2 KiB | |
src/ | H | 25-Oct-2024 | 4 KiB |
README_ZH.md
1# SERVICE框架生成工具 2 3## 简介 4 5当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系统IPC通信框架编写一套远程接口调用实现。实现Service远程调用接口需要开发人员熟悉IPC通信框架,了解proxy/stub的继承与实现方式,掌握C++类型转为MessageParcel数据包的各种API方法,有一定的学习成本。而Service代码生成工具能够帮助使用者生成框架代码,提升开发效率。用户只需提供一个定义远程方法的.h头文件,工具会自动生成整个Service框架的代码,包含Ability注册、proxy/stub类实现、MessageParcel数据包构造、Service子系统编译及开机自启动相关配置文件。目前工具支持VS Code插件一种入口。 6 7更多工具的架构和实现原理详情,可以左键单击以下链接了解: 8 9[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/h2sa/docs/usage/INSTRUCTION_ZH.md) 10 11 ├── napi_generator # NAPI框架代码生成工具 12 │ ├── ... # 其它文档 13 │ ├── src 14 │ │ ├── ... 15 │ │ ├── cli # 脚手架源码 16 │ │ | ├── h2sa/src # 工具源码 17 │ │ | | ├── src 18 │ │ | | | ├── tools # 公共模块代码,包括消息体校验、文件读写、正则表达式转换等 19 │ │ | | | ├── gen # 生成器 20 │ │ | | ├── package.json # 配置文件 21 │ │ | ├── ... # 其它工具 22 23## 约束 24系统:建议Ubuntu 20.04或者Windows 10 25 26依赖版本:VS Code 1.62.0 27 28## 使用方法 29 30### 使用对象 31 32系统开发者 33### 使用场景 34 351) 开发者为OpenHarmony系统框架开发某些功能,并将该功能包装成一个独立的服务进程运行在系统中。 36 37### 工具使用 38 39#### VS Code插件使用方法 40 41具体的插件使用步骤,可以左键单击以下链接了解: 42 43[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/src/vscode_plugin/h2sa/service_vs_plugin/docs/usage/INSTRUCTION_ZH.md) 44 45### 工具输出 46 47根据使用者指定的.h头文件,工具会输出SERVICE框架代码。为了方便使用者快速上手工具,可供测试的.h文件如下所示: 48 49``` 50#ifndef TEST_H 51#define TEST_H 52 53namespace OHOS { 54 namespace Example { 55 /** 56 * @brief service服务,提供IPC调用接口 57 * @ServiceClass 58 */ 59 class test { 60 public: 61 int testFunc(int v1, int v2, bool v3); 62 }; 63 } // namespace Example 64} // namespace OHOS 65#endif // TEST_H 66``` 67 68注意:.h文件中待生成的主class必须加注释:@brief service服务,提供IPC调用接口 ,如下所示: 69 70``` 71/** 72 * @brief service服务,提供IPC调用接口 73 * @ServiceClass 74 */ 75``` 76 77在window环境下的,根据输入.h文件生成的输出文件,如下所示: 78 79 80 81## 工具开发说明 82 83### 对象 84 85工具的开发者 86 87### 开发场景 88 89若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 90 91### 开发步骤 92 93开发者可以根据如下的步骤来完成对工具的开发: 94 95 [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/h2sa/docs/guide/DEVELOP_ZH.md) 96 97## 版本说明 98 99[已支持特性](https://gitee.com/openharmony/napi_generator/blob/master/src/cli/h2sa/docs/release-notes/Service-1.0.md) 100 101[待开发特性](https://gitee.com/openharmony/napi_generator/blob/master/src/cli/h2sa/docs/requirement/ROADMAP_ZH.md) 102 103## FAQ 104 105 [FAQ](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/h2sa/docs/guide/FAQ.md) 106 107## 参与贡献 108 109暂无 110 111## 相关仓 112 113暂无 114