Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
46a08140
D
Docs
项目概览
OpenHarmony
/
Docs
11 个月 前同步成功
通知
158
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
46a08140
编写于
9月 19, 2022
作者:
O
openharmony_ci
提交者:
Gitee
9月 19, 2022
浏览文件
操作
浏览文件
下载
差异文件
!9615 【OpenHarmony开源贡献者计划2022】+标题加粗,排版
Merge pull request !9615 from 帅帅一号/master
上级
7abb2101
4225788f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
7 deletion
+7
-7
zh-cn/application-dev/IDL/idl-guidelines.md
zh-cn/application-dev/IDL/idl-guidelines.md
+7
-7
未找到文件。
zh-cn/application-dev/IDL/idl-guidelines.md
浏览文件 @
46a08140
...
...
@@ -7,7 +7,7 @@
![
IDL-interface-description
](
./figures/IDL-interface-description.png
)
OpenHarmony IDL接口描述语言主要用于:
**OpenHarmony IDL接口描述语言主要用于:**
-
声明系统服务对外提供的服务接口,根据接口声明在编译时生成跨进程调用(IPC)或跨设备调用(RPC)的代理(Proxy)和桩(Stub)的C/C++代码或JS/TS代码。
...
...
@@ -17,7 +17,7 @@ OpenHarmony IDL接口描述语言主要用于:
![
IPC-RPC-communication-model
](
./figures/IPC-RPC-communication-model.png
)
使用OpenHarmony IDL接口描述语言声明接口具有以下优点:
**使用OpenHarmony IDL接口描述语言声明接口具有以下优点:**
-
OpenHarmony IDL中是以接口的形式定义服务,可以专注于定义而隐藏实现细节。
...
...
@@ -59,7 +59,7 @@ sequenceable namespace.typename
sequenceable
a
.
b
..
C
.
D
```
上述声明在生成的的C++头文件中将被解析为如下代码:
上述声明在生成的的C++头文件中将被解析为如下代码:
```
cpp
#include “a/b/d.h”
...
...
@@ -81,15 +81,15 @@ import MySequenceable from "./my_sequenceable"
需要注意的是,IDL并不负责该类型的代码实现,仅仅按照指定的形式引入该头文件或import指定模块,并使用该类型,因此开发者需要自行保证引入目录、命名空间及类型的正确性。
#### 接口类型
接口类型是指OpenHarmony IDL文件中定义的接口。对于当前IDL文件中定义的接口,可以直接使用它作为方法参数类型或返回值类型。而在其它OpenHarmony IDL文件中定义的接口,则需要在文件的头部进行前置声明。
接口类型是指OpenHarmony IDL文件中定义的接口。对于当前IDL文件中定义的接口,可以直接使用它作为方法参数类型或返回值类型。而在其它OpenHarmony IDL文件中定义的接口,则需要在文件的头部进行前置声明。
C++中声明的形式与sequenceable类型相似,具体而言可以有如下形式:
C++中声明的形式与sequenceable类型相似,具体而言可以有如下形式:
```
cpp
interface
includedir
..
namespace
.
typename
```
TS中声明的形式,具体而言可以有如下形式:
TS中声明的形式,具体而言可以有如下形式:
```
ts
interface
namespace
.
interfacename
...
...
@@ -495,7 +495,7 @@ function connectAbility: void {
开发者可以通过 IPC 接口,将某个类从一个进程发送至另一个进程。但是,必须确保 IPC 通道的另一端可使用该类的代码,并且该类必须支持marshalling和unmarshalling方法。OpenHarmony 需要通过该marshalling和unmarshalling方法将对象序列化和反序列化成各进程能识别的对象。
如需创建支持sequenceable 类型数据,开发者必须执行以下操作:
**如需创建支持sequenceable 类型数据,开发者必须执行以下操作:**
1.
实现marshalling方法,它会获取对象的当前状态并将其序列化后写入Parcel。
2.
实现unmarshalling方法,它会从Parcel中反序列化出对象。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录