Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
docs/ | 12-May-2024 | - | 671 | 453 | ||
examples/ | 12-May-2024 | - | 31 | 11 | ||
figures/ | 12-May-2024 | - | ||||
service-gen/ | 12-May-2024 | - | 2,120 | 1,622 | ||
service_IntelliJ_plugin/ | 12-May-2024 | - | 1,804 | 1,150 | ||
service_vs_plugin/ | 12-May-2024 | - | 1,321 | 1,035 | ||
FAQ.md | D | 12-May-2024 | 481 | 13 | 6 | |
README_ZH.md | D | 12-May-2024 | 4.7 KiB | 109 | 67 |
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/hdc/service/docs/INSTRUCTION_ZH.md) 10 11 ├── napi_generator # NAPI框架代码生成工具 12 │ ├── ... # 其他文档 13 │ ├── hdc 14 │ │ ├── ... # 其他工具 15 │ │ ├── service # service框架代码生成工具 16 │ │ | ├── service_vs_plugin # VS Code插件源码 17 │ │ | ├── service-gen 18 │ │ | | ├── src 19 │ │ | | | ├── gen 20 │ │ | | | | ├── analyze.js # 解析json文件 21 │ │ | | | | ├── fileTemplate.js # service框架代码文件模板 22 │ │ | | | | ├── generate.js # 生成service框架 23 │ │ | | | | ├── header_parser.py # 解析.h文件并输出jscon文件 24 │ │ | | | | ├── main.js # 工具入口 25 │ │ | | | ├── tools 26 │ │ | | | | ├── FileRW.js # 读写文件 27 │ │ | | | | ├── NapiLog.js # 日志 28 │ │ | | | | ├── common.js # 工具支持数据类型 29 │ │ | | | | ├── re.js # 正则表达式转换 30 │ │ | | | | ├── tool.js # 消息体校验 31 32## 约束 33系统:建议Ubuntu 20.04或者Windows 10 34 35依赖版本:VS Code 1.62.0 36 37## 使用方法 38 39### 使用对象 40 41系统开发者 42 43### 使用场景 44 451) 开发者为OpenHarmony系统框架开发某些功能,并将该功能包装成一个独立的服务进程运行在系统中。 46 47### 工具使用 48 49工具有两种类型,分别是可执行文件、VS Code插件。其中的可执行文件可根据工具使用者的开发环境选择,支持Windows,Linux和Mac。可执行文件、VS Code插件下载路径如下: 50 51[下载链接](暂无) 52 53具体的工具使用步骤,可以左键单击以下链接了解: 54 55[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/docs/INSTRUCTION_ZH.md) 56 57### 工具输出 58 59根据使用者指定的.h头文件,工具会输出SERVICE框架代码。为了方便使用者快速上手工具,可供测试的.h文件如下所示: 60 61[test.h](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/examples/test.h) 62 63注意:.h文件中待生成的主class必须加注释:@brief service服务,提供IPC调用接口 ,如下所示: 64 65``` 66/** 67 * @brief service服务,提供IPC调用接口 68 * @ServiceClass 69 */ 70``` 71 72在window环境下的,根据输入.h文件生成的输出文件,如下所示: 73 74 75 76## 工具开发说明 77 78### 对象 79 80工具的开发者 81 82### 开发场景 83 84若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 85 86### 开发步骤 87 88开发者可以根据如下的步骤来完成对工具的开发: 89 90 [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/docs/DEVELOP_ZH.md) 91 92## 版本说明 93 94[已支持特性](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/Service-1.0.md) 95 96[待开发特性](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/ROADMAP_ZH.md) 97 98## FAQ 99 100 [FAQ](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/FAQ.md) 101 102## 参与贡献 103 104暂无 105 106## 相关仓 107 108暂无 109