Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
0f166407
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
159
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看板
提交
0f166407
编写于
5月 27, 2022
作者:
Y
yangguangzhao
1
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Rpc doc param type bugfix
Signed-off-by:
N
yangguangzhao
<
yangguangzhao1@huawei.com
>
上级
07c06118
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
315 addition
and
61 deletion
+315
-61
zh-cn/application-dev/reference/apis/js-apis-rpc.md
zh-cn/application-dev/reference/apis/js-apis-rpc.md
+315
-61
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-rpc.md
浏览文件 @
0f166407
...
...
@@ -76,10 +76,29 @@ writeRemoteObject(object: [IRemoteObject](#iremoteobject)): boolean
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let data = rpc.MessageParcel.create();
let testRemoteObject = new TestRemoteObject("testObject");
...
...
@@ -103,10 +122,29 @@ readRemoteObject(): IRemoteObject
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let data = rpc.MessageParcel.create();
let testRemoteObject = new TestRemoteObject("testObject");
...
...
@@ -624,7 +662,7 @@ readLong(): number
let data = rpc.MessageParcel.create();
let result = data.writeLong(10000);
console.log("RpcClient: writeLong is " + result);
let ret = data.read
l
ong();
let ret = data.read
L
ong();
console.log("RpcClient: readLong is " + ret);
```
...
...
@@ -804,7 +842,7 @@ writeChar(val: number): boolean
```
let data = rpc.MessageParcel.create();
let result = data.writeChar(
'a'
);
let result = data.writeChar(
97
);
console.log("RpcClient: writeChar is " + result);
```
...
...
@@ -826,7 +864,7 @@ readChar(): number
```
let data = rpc.MessageParcel.create();
let result = data.writeChar(
'a'
);
let result = data.writeChar(
97
);
console.log("RpcClient: writeChar is " + result);
let ret = data.readChar();
console.log("RpcClient: readChar is " + ret);
...
...
@@ -906,9 +944,11 @@ writeSequenceable(val: Sequenceable): boolean
```
class MySequenceable {
constructor(num, string) {
num: number;
str: string;
constructor(num, str) {
this.num = num;
this.str = str
ing
;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
...
...
@@ -950,9 +990,11 @@ readSequenceable(dataIn: Sequenceable) : boolean
```
class MySequenceable {
constructor(num, string) {
num: number;
str: string;
constructor(num, str) {
this.num = num;
this.str = str
ing
;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
...
...
@@ -997,7 +1039,7 @@ writeByteArray(byteArray: number[]): boolean
```
let data = rpc.MessageParcel.create();
let ByteArrayVar =
new Int8Array([1, 2, 3, 4, 5])
;
let ByteArrayVar =
[1, 2, 3, 4, 5]
;
let result = data.writeByteArray(ByteArrayVar);
console.log("RpcClient: writeByteArray is " + result);
```
...
...
@@ -1020,7 +1062,7 @@ readByteArray(dataIn: number[]) : void
```
let data = rpc.MessageParcel.create();
let ByteArrayVar =
new Int8Array([1, 2, 3, 4, 5])
;
let ByteArrayVar =
[1, 2, 3, 4, 5]
;
let result = data.writeByteArray(ByteArrayVar);
console.log("RpcClient: writeByteArray is " + result);
let array = new Array(5);
...
...
@@ -1045,7 +1087,7 @@ readByteArray(): number[]
```
let data = rpc.MessageParcel.create();
let ByteArrayVar =
new Int8Array([1, 2, 3, 4, 5])
;
let ByteArrayVar =
[1, 2, 3, 4, 5]
;
let result = data.writeByteArray(ByteArrayVar);
console.log("RpcClient: writeByteArray is " + result);
let array = data.readByteArray();
...
...
@@ -1525,7 +1567,7 @@ writeCharArray(charArray: number[]): boolean
```
let data = rpc.MessageParcel.create();
let result = data.writeCharArray([
'a', 'b', 'c'
]);
let result = data.writeCharArray([
97, 98, 88
]);
console.log("RpcClient: writeCharArray is " + result);
```
...
...
@@ -1547,7 +1589,7 @@ readCharArray(dataIn: number[]) : void
```
let data = rpc.MessageParcel.create();
let result = data.writeCharArray([
'a', 'b', 'c'
]);
let result = data.writeCharArray([
97, 98, 99
]);
console.log("RpcClient: writeCharArray is " + result);
let array = new Array(3);
data.readCharArray(array);
...
...
@@ -1664,10 +1706,24 @@ writeNoException(): void
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
onRemoteRequest(code, data, reply, option) {
if (code === 1) {
console.log("RpcServer: onRemoteRequest called");
...
...
@@ -1759,9 +1815,11 @@ writeSequenceableArray(sequenceableArray: Sequenceable[]): boolean
```
class MySequenceable {
constructor(num, string) {
num: number;
str: string;
constructor(num, str) {
this.num = num;
this.str = str
ing
;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
...
...
@@ -1801,9 +1859,11 @@ readSequenceableArray(sequenceableArray: Sequenceable[]): void
```
class MySequenceable {
constructor(num, string) {
num: number;
str: string;
constructor(num, str) {
this.num = num;
this.str = str
ing
;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
...
...
@@ -1849,11 +1909,28 @@ writeRemoteObjectArray(objectArray: IRemoteObject[]): boolean
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
this.attachLocalInterface(this, descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
asObject(): rpc.IRemoteObject {
return this;
}
}
let a = [new TestRemoteObject("testObject1"), new TestRemoteObject("testObject2"), new TestRemoteObject("testObject3")];
let data = rpc.MessageParcel.create();
...
...
@@ -1878,11 +1955,28 @@ readRemoteObjectArray(objects: IRemoteObject[]): void
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
this.attachLocalInterface(this, descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
asObject(): rpc.IRemoteObject {
return this;
}
}
let a = [new TestRemoteObject("testObject1"), new TestRemoteObject("testObject2"), new TestRemoteObject("testObject3")];
let data = rpc.MessageParcel.create();
...
...
@@ -1908,11 +2002,28 @@ readRemoteObjectArray(): IRemoteObject[]
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
this.attachLocalInterface(this, descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
asObject(): rpc.IRemoteObject {
return this;
}
}
let a = [new TestRemoteObject("testObject1"), new TestRemoteObject("testObject2"), new TestRemoteObject("testObject3")];
let data = rpc.MessageParcel.create();
...
...
@@ -2156,7 +2267,7 @@ writeRawData(rawData: number[], size: number): boolean
```
let parcel = new rpc.MessageParcel();
let arr =
new Int8Array([1, 2, 3, 4, 5])
;
let arr =
[1, 2, 3, 4, 5]
;
let isWriteSuccess = parcel.writeRawData(arr, arr.length);
console.log("RpcTest: parcel write raw data result is : " + isWriteSuccess);
```
...
...
@@ -2184,7 +2295,7 @@ readRawData(size: number): number[]
```
let parcel = new rpc.MessageParcel();
let arr =
new Int8Array([1, 2, 3, 4, 5])
;
let arr =
[1, 2, 3, 4, 5]
;
let isWriteSuccess = parcel.writeRawData(arr, arr.length);
console.log("RpcTest: parcel write raw data result is : " + isWriteSuccess);
let result = parcel.readRawData(5);
...
...
@@ -2218,9 +2329,11 @@ marshalling(dataOut: MessageParcel): boolean
```
class MySequenceable {
constructor(num, string) {
num: number;
str: string;
constructor(num, str) {
this.num = num;
this.str = str
ing
;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
...
...
@@ -2265,9 +2378,11 @@ unmarshalling(dataIn: MessageParcel) : boolean
```
class MySequenceable {
constructor(num, string) {
num: number;
str: string;
constructor(num, str) {
this.num = num;
this.str = str
ing
;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
...
...
@@ -2322,6 +2437,7 @@ asObject(): IRemoteObject
```
class TestProxy {
remote: rpc.RemoteObject;
constructor(remote) {
this.remote = remote;
}
...
...
@@ -2595,22 +2711,17 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
let reply = rpc.MessageParcel.create();
data.writeInt(1);
data.writeString("hello");
proxy.sendRequest(1, data, reply, option)
.then(function(errCode) {
if (errCode === 0) {
console.log("sendRequest got result");
let msg = reply.readString();
console.log("RPCTest: reply msg: " + msg);
} else {
console.log("RPCTest: sendRequest failed, errCode: " + errCode);
}
}).catch(function(e) {
console.log("RPCTest: sendRequest got exception: " + e.message);
}).finally (() => {
console.log("RPCTest: sendRequest ends, reclaim parcel");
data.reclaim();
reply.reclaim();
});
let ret: boolean = proxy.sendRequest(1, data, reply, option);
if (ret) {
console.log("sendRequest got result");
let msg = reply.readString();
console.log("RPCTest: reply msg: " + msg);
} else {
console.log("RPCTest: sendRequest failed");
}
console.log("RPCTest: sendRequest ends, reclaim parcel");
data.reclaim();
reply.reclaim();
```
### sendRequest<sup>8+</sup>
...
...
@@ -3159,7 +3270,7 @@ static getCallingTokenId(): number;
```
### getCalligDeviceID
### getCalli
n
gDeviceID
static getCallingDeviceID(): string
...
...
@@ -3177,7 +3288,7 @@ static getCallingDeviceID(): string
```
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
let callerDeviceID = rpc.IPCSkeleton.getCalligDeviceID();
let callerDeviceID = rpc.IPCSkeleton.getCalli
n
gDeviceID();
console.log("RpcServer: callerDeviceID is: " + callerDeviceID);
return true;
}
...
...
@@ -3259,7 +3370,26 @@ static flushCommands(object : IRemoteObject): number
**示例:**
```
let remoteObject = new rpc.RemoteObject("aaa", 3);
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let remoteObject = new TestRemoteObject("aaa");
let ret = rpc.IPCSkeleton.flushCommands(remoteObject);
console.log("RpcServer: flushCommands result: " + ret);
```
...
...
@@ -3375,10 +3505,24 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let testRemoteObject = new TestRemoteObject("testObject");
let option = new rpc.MessageOption();
...
...
@@ -3386,22 +3530,17 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
let reply = rpc.MessageParcel.create();
data.writeInt(1);
data.writeString("hello");
testRemoteObject.sendRequest(1, data, reply, option)
.then(function(errCode) {
if (errCode === 0) {
console.log("sendRequest got result");
let msg = reply.readString();
console.log("RPCTest: reply msg: " + msg);
} else {
console.log("RPCTest: sendRequest failed, errCode: " + errCode);
}
}).catch(function(e) {
console.log("RPCTest: sendRequest got exception: " + e.message);
}).finally (() => {
console.log("RPCTest: sendRequest ends, reclaim parcel");
data.reclaim();
reply.reclaim();
});
let ret: boolean = proxy.sendRequest(1, data, reply, option);
if (ret) {
console.log("sendRequest got result");
let msg = reply.readString();
console.log("RPCTest: reply msg: " + msg);
} else {
console.log("RPCTest: sendRequest failed");
}
console.log("RPCTest: sendRequest ends, reclaim parcel");
data.reclaim();
reply.reclaim();
```
...
...
@@ -3430,10 +3569,24 @@ sendRequest(code : number, data : MessageParcel, reply : MessageParcel, options
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let testRemoteObject = new TestRemoteObject("testObject");
let option = new rpc.MessageOption();
...
...
@@ -3482,10 +3635,24 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
function sendRequestCallback(result) {
if (result.errCode === 0) {
...
...
@@ -3535,10 +3702,24 @@ sendRequest请求的响应处理函数,服务端在该函数里处理请求,
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
onRemoteRequest(code, data, reply, option) {
if (code === 1) {
...
...
@@ -3570,10 +3751,24 @@ getCallingUid(): number
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let testRemoteObject = new TestRemoteObject("testObject");
console.log("RpcServer: getCallingUid: " + testRemoteObject.getCallingUid());
...
...
@@ -3597,10 +3792,24 @@ getCallingPid(): number
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let testRemoteObject = new TestRemoteObject("testObject");
console.log("RpcServer: getCallingPid: " + testRemoteObject.getCallingPid());
...
...
@@ -3629,10 +3838,24 @@ queryLocalInterface(descriptor: string): IRemoteBroker
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let testRemoteObject = new TestRemoteObject("testObject");
let broker = testRemoteObject.queryLocalInterface("testObject");
...
...
@@ -3656,10 +3879,24 @@ getInterfaceDescriptor(): string
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
}
let testRemoteObject = new TestRemoteObject("testObject");
let descriptor = testRemoteObject.getInterfaceDescriptor();
...
...
@@ -3685,11 +3922,28 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void
**示例:**
```
class MyDeathRecipient {
onRemoteDied() {
console.log("server is died");
}
}
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
this.attachLocalInterface(this, descriptor);
}
addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
return true;
}
isObjectDead(): boolean {
return false;
}
asObject(): rpc.IRemoteObject {
return this;
}
}
let testRemoteObject = new TestRemoteObject("testObject");
```
...
...
@@ -3845,7 +4099,7 @@ mapAshmem(mapType: number): boolean
```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapReadAndWrite = ashmem.mapAshmem(
rpc.Ashmem.PROT_READ | rpc.A
shmem.PROT_WRITE);
let mapReadAndWrite = ashmem.mapAshmem(
ashmem.PROT_READ | a
shmem.PROT_WRITE);
console.log("RpcTest: map ashmem result is : " + mapReadAndWrite);
```
...
...
@@ -3916,7 +4170,7 @@ setProtection(protectionType: number): boolean
```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let result = ashmem.setProtection(
rpc.A
shmem.PROT_READ);
let result = ashmem.setProtection(
a
shmem.PROT_READ);
console.log("RpcTest: Ashmem setProtection result is : " + result);
```
...
...
@@ -3945,7 +4199,7 @@ writeToAshmem(buf: number[], size: number, offset: number): boolean
```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
var ByteArrayVar =
new Int8Array([1, 2, 3, 4, 5])
;
var ByteArrayVar =
[1, 2, 3, 4, 5]
;
let writeResult = ashmem.writeToAshmem(ByteArrayVar, 5, 0);
console.log("RpcTest: write to Ashmem result is : " + writeResult);
```
...
...
@@ -3975,7 +4229,7 @@ readFromAshmem(size: number, offset: number): number[]
```
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
var ByteArrayVar =
new Int8Array([1, 2, 3, 4, 5])
;
var ByteArrayVar =
[1, 2, 3, 4, 5]
;
let writeResult = ashmem.writeToAshmem(ByteArrayVar, 5, 0);
console.log("RpcTest: write to Ashmem result is : " + writeResult);
let readResult = ashmem.readFromAshmem(5, 0);
...
...
Miykael_xxm
🚴
@xiongjiamu
mentioned in commit
a0ac07d1
·
6月 06, 2022
mentioned in commit
a0ac07d1
mentioned in commit a0ac07d1ec7589ad3cb63d6fecf8c64eb626f4f4
开关提交列表
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录