未验证 提交 dd958cae 编写于 作者: O openharmony_ci 提交者: Gitee

!12762 【IPC&RPC-API参考】IPC与RPC通信API参考文档优化整改

Merge pull request !12762 from Yippo/master
......@@ -4,10 +4,9 @@
> **说明:**
>
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块从API version 9开始支持异常返回功能。
> - 本模块从API version 9开始支持异常返回功能。
## 导入模块
......@@ -15,7 +14,6 @@
import rpc from '@ohos.rpc';
```
## ErrorCode<sup>9+</sup>
从API version 9起,IPC支持异常返回功能。错误码对应数值及含义如下。
......@@ -42,11 +40,11 @@ import rpc from '@ohos.rpc';
## MessageSequence<sup>9+</sup>
在RPC过程中,发送方可以使用MessageSequence提供的写方法,将待发送的数据以特定格式写入该对象。接收方可以使用MessageSequence提供的读方法从该对象中读取特定格式的数据。数据格式包括:基础类型及数组、IPC对象、接口描述符和自定义序列化对象。
在RPC或IPC过程中,发送方可以使用MessageSequence提供的写方法,将待发送的数据以特定格式写入该对象。接收方可以使用MessageSequence提供的读方法从该对象中读取特定格式的数据。数据格式包括:基础类型及数组、IPC对象、接口描述符和自定义序列化对象。
### create
create(): MessageSequence
static create(): MessageSequence
静态方法,创建MessageSequence对象。
......@@ -60,7 +58,7 @@ import rpc from '@ohos.rpc';
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
console.log("RpcClient: data is " + data);
```
......@@ -75,7 +73,7 @@ reclaim(): void
**示例:**
```
```ts
let reply = rpc.MessageSequence.create();
reply.reclaim();
```
......@@ -105,7 +103,7 @@ writeRemoteObject(object: [IRemoteObject](#iremoteobject)): void
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -146,7 +144,7 @@ readRemoteObject(): IRemoteObject
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -187,7 +185,7 @@ writeInterfaceToken(token: string): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeInterfaceToken("aaa");
......@@ -201,7 +199,7 @@ writeInterfaceToken(token: string): void
readInterfaceToken(): string
从MessageSequence中读取接口描述符,接口描述符按写入MessageSequence的顺序读取,本地对象可使用该信息检验本次通信。
从MessageSequence对象中读取接口描述符,接口描述符按写入MessageSequence的顺序读取,本地对象可使用该信息检验本次通信。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -219,29 +217,28 @@ readInterfaceToken(): string
| ------- | ----- |
| 1900010 | read data from message sequence failed |
**示例:**
```
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
try {
let interfaceToken = data.readInterfaceToken();
console.log("RpcServer: interfaceToken is " + interfaceToken);
} catch(error) {
console.info("RpcServer: read interfaceToken failed, errorCode " + error.code);
console.info("RpcServer: read interfaceToken failed, errorMessage " + error.message);
}
return true;
}
}
```ts
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
try {
let interfaceToken = data.readInterfaceToken();
console.log("RpcServer: interfaceToken is " + interfaceToken);
} catch(error) {
console.info("RpcServer: read interfaceToken failed, errorCode " + error.code);
console.info("RpcServer: read interfaceToken failed, errorMessage " + error.message);
}
return true;
}
}
```
### getSize
getSize(): number
获取当前MessageSequence的数据大小。
获取当前创建的MessageSequence对象的数据大小。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -249,11 +246,11 @@ getSize(): number
| 类型 | 说明 |
| ------ | ----------------------------------------------- |
| number | 获取的MessageSequence的数据大小。以字节为单位。 |
| number | 获取的MessageSequence实例的数据大小。以字节为单位。 |
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
let size = data.getSize();
console.log("RpcClient: size is " + size);
......@@ -263,7 +260,7 @@ getSize(): number
getCapacity(): number
获取当前MessageSequence的容量
获取当前MessageSequence对象的容量大小
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -271,11 +268,11 @@ getCapacity(): number
| 类型 | 说明 |
| ------ | ----- |
| number | 获取的MessageSequence的容量大小。以字节为单位。 |
| number | 获取的MessageSequence实例的容量大小。以字节为单位。 |
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
let result = data.getCapacity();
console.log("RpcClient: capacity is " + result);
......@@ -285,7 +282,7 @@ getCapacity(): number
setSize(size: number): void
设置MessageSequence实例中包含的数据大小。
设置MessageSequence对象中包含的数据大小。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -297,7 +294,7 @@ setSize(size: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.setSize(16);
......@@ -312,7 +309,7 @@ setSize(size: number): void
setCapacity(size: number): void
设置MessageSequence实例的存储容量。
设置MessageSequence对象的存储容量。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -332,7 +329,7 @@ setCapacity(size: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.setCapacity(100);
......@@ -347,7 +344,7 @@ setCapacity(size: number): void
getWritableBytes(): number
获取MessageSequence的可写字节空间。
获取MessageSequence的可写字节空间大小
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -355,18 +352,18 @@ getWritableBytes(): number
| 类型 | 说明 |
| ------ | ------ |
| number | 获取到的MessageSequence的可写字节空间。以字节为单位。 |
| number | 获取到的MessageSequence实例的可写字节空间。以字节为单位。 |
**示例:**
```
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
let getWritableBytes = data.getWritableBytes();
console.log("RpcServer: getWritableBytes is " + getWritableBytes);
return true;
}
}
```ts
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
let getWritableBytes = data.getWritableBytes();
console.log("RpcServer: getWritableBytes is " + getWritableBytes);
return true;
}
}
```
### getReadableBytes
......@@ -381,18 +378,18 @@ getReadableBytes(): number
| 类型 | 说明 |
| ------ | ------- |
| number | 获取到的MessageSequence的可读字节空间。以字节为单位。 |
| number | 获取到的MessageSequence实例的可读字节空间。以字节为单位。 |
**示例:**
```
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
let result = data.getReadableBytes();
console.log("RpcServer: getReadableBytes is " + result);
return true;
}
}
```ts
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
let result = data.getReadableBytes();
console.log("RpcServer: getReadableBytes is " + result);
return true;
}
}
```
### getReadPosition
......@@ -411,7 +408,7 @@ getReadPosition(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
let readPos = data.getReadPosition();
console.log("RpcClient: readPos is " + readPos);
......@@ -433,7 +430,7 @@ getWritePosition(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
data.writeInt(10);
let bwPos = data.getWritePosition();
......@@ -456,7 +453,7 @@ rewindRead(pos: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
data.writeInt(12);
data.writeString("sequence");
......@@ -488,7 +485,7 @@ rewindWrite(pos: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
data.writeInt(4);
try {
......@@ -526,7 +523,7 @@ writeByte(val: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeByte(2);
......@@ -560,7 +557,7 @@ readByte(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeByte(2);
......@@ -601,7 +598,7 @@ writeShort(val: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeShort(8);
......@@ -635,7 +632,7 @@ readShort(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeShort(8);
......@@ -676,7 +673,7 @@ writeInt(val: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeInt(10);
......@@ -710,7 +707,7 @@ readInt(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeInt(10);
......@@ -751,7 +748,7 @@ writeLong(val: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeLong(10000);
......@@ -785,7 +782,7 @@ readLong(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeLong(10000);
......@@ -826,7 +823,7 @@ writeFloat(val: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeFloat(1.2);
......@@ -860,7 +857,7 @@ readFloat(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeFloat(1.2);
......@@ -901,7 +898,7 @@ writeDouble(val: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeDouble(10.2);
......@@ -935,7 +932,7 @@ readDouble(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeDouble(10.2);
......@@ -976,7 +973,7 @@ writeBoolean(val: boolean): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeBoolean(false);
......@@ -1010,7 +1007,7 @@ readBoolean(): boolean
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeBoolean(false);
......@@ -1051,7 +1048,7 @@ writeChar(val: number): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeChar(97);
......@@ -1085,7 +1082,7 @@ readChar(): number
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeChar(97);
......@@ -1126,7 +1123,7 @@ writeString(val: string): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeString('abc');
......@@ -1160,7 +1157,7 @@ readString(): string
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeString('abc');
......@@ -1201,7 +1198,7 @@ writeParcelable(val: Parcelable): void
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -1255,7 +1252,7 @@ readParcelable(dataIn: Parcelable): void
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -1310,7 +1307,7 @@ writeByteArray(byteArray: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
let ByteArrayVar = [1, 2, 3, 4, 5];
try {
......@@ -1345,7 +1342,7 @@ readByteArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
let ByteArrayVar = [1, 2, 3, 4, 5];
try {
......@@ -1387,7 +1384,7 @@ readByteArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
let byteArrayVar = [1, 2, 3, 4, 5];
try {
......@@ -1429,7 +1426,7 @@ writeShortArray(shortArray: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeShortArray([11, 12, 13]);
......@@ -1463,7 +1460,7 @@ readShortArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeShortArray([11, 12, 13]);
......@@ -1504,7 +1501,7 @@ readShortArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeShortArray([11, 12, 13]);
......@@ -1545,7 +1542,7 @@ writeIntArray(intArray: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeIntArray([100, 111, 112]);
......@@ -1579,7 +1576,7 @@ readIntArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeIntArray([100, 111, 112]);
......@@ -1620,7 +1617,7 @@ readIntArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeIntArray([100, 111, 112]);
......@@ -1661,7 +1658,7 @@ writeLongArray(longArray: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeLongArray([1111, 1112, 1113]);
......@@ -1675,7 +1672,7 @@ writeLongArray(longArray: number[]): void
readLongArray(dataIn: number[]): void
从MessageSequence实例读取长整数数组。
从MessageSequence实例读取长整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -1695,7 +1692,7 @@ readLongArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeLongArray([1111, 1112, 1113]);
......@@ -1716,7 +1713,7 @@ readLongArray(dataIn: number[]): void
readLongArray(): number[]
从MessageSequence实例中读取长整数数组。
从MessageSequence实例中读取所有的长整数数组。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -1736,7 +1733,7 @@ readLongArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeLongArray([1111, 1112, 1113]);
......@@ -1777,7 +1774,7 @@ writeFloatArray(floatArray: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeFloatArray([1.2, 1.3, 1.4]);
......@@ -1811,7 +1808,7 @@ readFloatArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeFloatArray([1.2, 1.3, 1.4]);
......@@ -1852,7 +1849,7 @@ readFloatArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeFloatArray([1.2, 1.3, 1.4]);
......@@ -1893,7 +1890,7 @@ writeDoubleArray(doubleArray: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeDoubleArray([11.1, 12.2, 13.3]);
......@@ -1927,7 +1924,7 @@ readDoubleArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeDoubleArray([11.1, 12.2, 13.3]);
......@@ -1948,7 +1945,7 @@ readDoubleArray(dataIn: number[]): void
readDoubleArray(): number[]
从MessageSequence实例读取双精度浮点数组。
从MessageSequence实例读取所有双精度浮点数组。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -1968,7 +1965,7 @@ readDoubleArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeDoubleArray([11.1, 12.2, 13.3]);
......@@ -2009,7 +2006,7 @@ writeBooleanArray(booleanArray: boolean[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeBooleanArray([false, true, false]);
......@@ -2043,7 +2040,7 @@ readBooleanArray(dataIn: boolean[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeBooleanArray([false, true, false]);
......@@ -2064,7 +2061,7 @@ readBooleanArray(dataIn: boolean[]): void
readBooleanArray(): boolean[]
从MessageSequence实例中读取布尔数组。
从MessageSequence实例中读取所有布尔数组。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -2084,7 +2081,7 @@ readBooleanArray(): boolean[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeBooleanArray([false, true, false]);
......@@ -2125,7 +2122,7 @@ writeCharArray(charArray: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeCharArray([97, 98, 88]);
......@@ -2159,7 +2156,7 @@ readCharArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeCharArray([97, 98, 88]);
......@@ -2200,7 +2197,7 @@ readCharArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeCharArray([97, 98, 88]);
......@@ -2242,7 +2239,7 @@ writeStringArray(stringArray: string[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeStringArray(["abc", "def"]);
......@@ -2276,7 +2273,7 @@ readStringArray(dataIn: string[]): void
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeStringArray(["abc", "def"]);
......@@ -2317,7 +2314,7 @@ readStringArray(): string[]
**示例:**
```
```ts
let data = rpc.MessageSequence.create();
try {
data.writeStringArray(["abc", "def"]);
......@@ -2352,7 +2349,7 @@ writeNoException(): void
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -2394,7 +2391,7 @@ readException(): void
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -2467,7 +2464,7 @@ writeParcelableArray(parcelableArray: Parcelable[]): void
**示例:**
```
```ts
class MyParcelable {
num: number;
str: string;
......@@ -2524,7 +2521,7 @@ readParcelableArray(parcelableArray: Parcelable[]): void
**示例:**
```
```ts
class MyParcelable {
num: number;
str: string;
......@@ -2584,7 +2581,7 @@ writeRemoteObjectArray(objectArray: IRemoteObject[]): void
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -2631,7 +2628,7 @@ readRemoteObjectArray(objects: IRemoteObject[]): void
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -2684,7 +2681,7 @@ readRemoteObjectArray(): IRemoteObject[]
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -2712,7 +2709,7 @@ readRemoteObjectArray(): IRemoteObject[]
static closeFileDescriptor(fd: number): void
关闭给定的文件描述符。
静态方法,关闭给定的文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -2724,7 +2721,7 @@ static closeFileDescriptor(fd: number): void
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let filePath = "path/to/file";
let fd = fileio.openSync(filePath, 0o2| 0o100, 0o666);
......@@ -2740,7 +2737,7 @@ static closeFileDescriptor(fd: number): void
static dupFileDescriptor(fd: number) :number
复制给定的文件描述符。
静态方法,复制给定的文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -2766,7 +2763,7 @@ static dupFileDescriptor(fd: number) :number
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let filePath = "path/to/file";
let fd = fileio.openSync(filePath, 0o2| 0o100, 0o666);
......@@ -2790,12 +2787,12 @@ containFileDescriptors(): boolean
| 类型 | 说明 |
| ------- | -------------------------------------------------------------------- |
| boolean | 如果此MessageSequence对象包含文件描述符,则返回true;否则返回false。 |
| boolean | true:包含文件描述符,false:不包含文件描述符。|
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let sequence = new rpc.MessageSequence();
let filePath = "path/to/file";
......@@ -2840,7 +2837,7 @@ writeFileDescriptor(fd: number): void
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let sequence = new rpc.MessageSequence();
let filePath = "path/to/file";
......@@ -2853,7 +2850,6 @@ writeFileDescriptor(fd: number): void
}
```
### readFileDescriptor
readFileDescriptor(): number
......@@ -2878,7 +2874,7 @@ readFileDescriptor(): number
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let sequence = new rpc.MessageSequence();
let filePath = "path/to/file";
......@@ -2897,7 +2893,6 @@ readFileDescriptor(): number
}
```
### writeAshmem
writeAshmem(ashmem: Ashmem): void
......@@ -2922,7 +2917,7 @@ writeAshmem(ashmem: Ashmem): void
**示例:**
```
```ts
let sequence = new rpc.MessageSequence();
let ashmem;
try {
......@@ -2964,7 +2959,7 @@ readAshmem(): Ashmem
**示例:**
```
```ts
let sequence = new rpc.MessageSequence();
let ashmem;
try {
......@@ -2988,7 +2983,6 @@ readAshmem(): Ashmem
}
```
### getRawDataCapacity
getRawDataCapacity(): number
......@@ -3005,13 +2999,12 @@ getRawDataCapacity(): number
**示例:**
```
```ts
let sequence = new rpc.MessageSequence();
let result = sequence.getRawDataCapacity();
console.log("RpcTest: sequence get RawDataCapacity result is : " + result);
```
### writeRawData
writeRawData(rawData: number[], size: number): void
......@@ -3037,7 +3030,7 @@ writeRawData(rawData: number[], size: number): void
**示例:**
```
```ts
let sequence = new rpc.MessageSequence();
let arr = [1, 2, 3, 4, 5];
try {
......@@ -3048,7 +3041,6 @@ writeRawData(rawData: number[], size: number): void
}
```
### readRawData
readRawData(size: number): number[]
......@@ -3079,7 +3071,7 @@ readRawData(size: number): number[]
**示例:**
```
```ts
let sequence = new rpc.MessageSequence();
let arr = [1, 2, 3, 4, 5];
try {
......@@ -3105,7 +3097,7 @@ readRawData(size: number): number[]
### create
create(): MessageParcel
static create(): MessageParcel
静态方法,创建MessageParcel对象。
......@@ -3119,7 +3111,7 @@ create(): MessageParcel
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
console.log("RpcClient: data is " + data);
```
......@@ -3134,7 +3126,7 @@ reclaim(): void
**示例:**
```
```ts
let reply = rpc.MessageParcel.create();
reply.reclaim();
```
......@@ -3157,11 +3149,11 @@ writeRemoteObject(object: [IRemoteObject](#iremoteobject)): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果操作成功,则返回true;否则返回false。 |
| boolean | true:操作成功,false:操作失败。|
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -3202,7 +3194,7 @@ readRemoteObject(): IRemoteObject
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -3246,11 +3238,11 @@ writeInterfaceToken(token: string): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果操作成功,则返回true;否则返回false。 |
| boolean | true:操作成功,false:操作失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeInterfaceToken("aaa");
console.log("RpcServer: writeInterfaceToken is " + result);
......@@ -3273,7 +3265,7 @@ readInterfaceToken(): string
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let interfaceToken = data.readInterfaceToken();
......@@ -3283,7 +3275,6 @@ readInterfaceToken(): string
}
```
### getSize
getSize(): number
......@@ -3300,13 +3291,12 @@ getSize(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let size = data.getSize();
console.log("RpcClient: size is " + size);
```
### getCapacity
getCapacity(): number
......@@ -3323,13 +3313,12 @@ getCapacity(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.getCapacity();
console.log("RpcClient: capacity is " + result);
```
### setSize
setSize(size: number): boolean
......@@ -3348,17 +3337,16 @@ setSize(size: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 设置成功返回true,否则返回false。 |
| boolean | true:设置成功,false:设置失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let setSize = data.setSize(16);
console.log("RpcClient: setSize is " + setSize);
```
### setCapacity
setCapacity(size: number): boolean
......@@ -3377,17 +3365,16 @@ setCapacity(size: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 设置成功返回true,否则返回false。 |
| boolean | true:设置成功,false:设置失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.setCapacity(100);
console.log("RpcClient: setCapacity is " + result);
```
### getWritableBytes
getWritableBytes(): number
......@@ -3404,7 +3391,7 @@ getWritableBytes(): number
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let getWritableBytes = data.getWritableBytes();
......@@ -3414,7 +3401,6 @@ getWritableBytes(): number
}
```
### getReadableBytes
getReadableBytes(): number
......@@ -3431,7 +3417,7 @@ getReadableBytes(): number
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteRequest(code, data, reply, option) {
let result = data.getReadableBytes();
......@@ -3441,7 +3427,6 @@ getReadableBytes(): number
}
```
### getReadPosition
getReadPosition(): number
......@@ -3458,13 +3443,12 @@ getReadPosition(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let readPos = data.getReadPosition();
console.log("RpcClient: readPos is " + readPos);
```
### getWritePosition
getWritePosition(): number
......@@ -3481,14 +3465,13 @@ getWritePosition(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
data.writeInt(10);
let bwPos = data.getWritePosition();
console.log("RpcClient: bwPos is " + bwPos);
```
### rewindRead
rewindRead(pos: number): boolean
......@@ -3507,11 +3490,11 @@ rewindRead(pos: number): boolean
| 类型 | 说明 |
| ------- | ------------------------------------------------- |
| boolean | 如果读取位置发生更改,则返回true;否则返回false。 |
| boolean | true:读取位置发生更改,false:读取位置未发生更改。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
data.writeInt(12);
data.writeString("parcel");
......@@ -3522,7 +3505,6 @@ rewindRead(pos: number): boolean
console.log("RpcClient: rewindRead is " + number2);
```
### rewindWrite
rewindWrite(pos: number): boolean
......@@ -3541,11 +3523,11 @@ rewindWrite(pos: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果写入位置更改,则返回true;否则返回false。 |
| boolean | true:写入位置发生更改,false:写入位置未发生更改。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
data.writeInt(4);
data.rewindWrite(0);
......@@ -3554,7 +3536,6 @@ rewindWrite(pos: number): boolean
console.log("RpcClient: rewindWrite is: " + number);
```
### writeByte
writeByte(val: number): boolean
......@@ -3577,13 +3558,12 @@ writeByte(val: number): boolean
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeByte(2);
console.log("RpcClient: writeByte is: " + result);
```
### readByte
readByte(): number
......@@ -3600,7 +3580,7 @@ readByte(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeByte(2);
console.log("RpcClient: writeByte is: " + result);
......@@ -3608,7 +3588,6 @@ readByte(): number
console.log("RpcClient: readByte is: " + ret);
```
### writeShort
writeShort(val: number): boolean
......@@ -3627,17 +3606,16 @@ writeShort(val: number): boolean
| 类型 | 说明 |
| ------- | ----------------------------- |
| boolean | 写入返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeShort(8);
console.log("RpcClient: writeShort is: " + result);
```
### readShort
readShort(): number
......@@ -3654,7 +3632,7 @@ readShort(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeShort(8);
console.log("RpcClient: writeShort is: " + result);
......@@ -3662,7 +3640,6 @@ readShort(): number
console.log("RpcClient: readShort is: " + ret);
```
### writeInt
writeInt(val: number): boolean
......@@ -3685,13 +3662,12 @@ writeInt(val: number): boolean
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeInt(10);
console.log("RpcClient: writeInt is " + result);
```
### readInt
readInt(): number
......@@ -3708,7 +3684,7 @@ readInt(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeInt(10);
console.log("RpcClient: writeInt is " + result);
......@@ -3716,7 +3692,6 @@ readInt(): number
console.log("RpcClient: readInt is " + ret);
```
### writeLong
writeLong(val: number): boolean
......@@ -3735,17 +3710,16 @@ writeLong(val: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeLong(10000);
console.log("RpcClient: writeLong is " + result);
```
### readLong
readLong(): number
......@@ -3762,7 +3736,7 @@ readLong(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeLong(10000);
console.log("RpcClient: writeLong is " + result);
......@@ -3770,7 +3744,6 @@ readLong(): number
console.log("RpcClient: readLong is " + ret);
```
### writeFloat
writeFloat(val: number): boolean
......@@ -3789,17 +3762,16 @@ writeFloat(val: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeFloat(1.2);
console.log("RpcClient: writeFloat is " + result);
```
### readFloat
readFloat(): number
......@@ -3816,7 +3788,7 @@ readFloat(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeFloat(1.2);
console.log("RpcClient: writeFloat is " + result);
......@@ -3824,7 +3796,6 @@ readFloat(): number
console.log("RpcClient: readFloat is " + ret);
```
### writeDouble
writeDouble(val: number): boolean
......@@ -3843,17 +3814,16 @@ writeDouble(val: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeDouble(10.2);
console.log("RpcClient: writeDouble is " + result);
```
### readDouble
readDouble(): number
......@@ -3870,7 +3840,7 @@ readDouble(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeDouble(10.2);
console.log("RpcClient: writeDouble is " + result);
......@@ -3896,17 +3866,16 @@ writeBoolean(val: boolean): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeBoolean(false);
console.log("RpcClient: writeBoolean is " + result);
```
### readBoolean
readBoolean(): boolean
......@@ -3923,7 +3892,7 @@ readBoolean(): boolean
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeBoolean(false);
console.log("RpcClient: writeBoolean is " + result);
......@@ -3931,7 +3900,6 @@ readBoolean(): boolean
console.log("RpcClient: readBoolean is " + ret);
```
### writeChar
writeChar(val: number): boolean
......@@ -3950,17 +3918,16 @@ writeChar(val: number): boolean
| 类型 | 说明 |
| ------- | ----------------------------- |
| boolean | 写入返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeChar(97);
console.log("RpcClient: writeChar is " + result);
```
### readChar
readChar(): number
......@@ -3977,7 +3944,7 @@ readChar(): number
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeChar(97);
console.log("RpcClient: writeChar is " + result);
......@@ -3985,7 +3952,6 @@ readChar(): number
console.log("RpcClient: readChar is " + ret);
```
### writeString
writeString(val: string): boolean
......@@ -4004,17 +3970,16 @@ writeString(val: string): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeString('abc');
console.log("RpcClient: writeString is " + result);
```
### readString
readString(): string
......@@ -4031,7 +3996,7 @@ readString(): string
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeString('abc');
console.log("RpcClient: writeString is " + result);
......@@ -4039,7 +4004,6 @@ readString(): string
console.log("RpcClient: readString is " + ret);
```
### writeSequenceable
writeSequenceable(val: Sequenceable): boolean
......@@ -4058,11 +4022,11 @@ writeSequenceable(val: Sequenceable): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -4087,7 +4051,6 @@ writeSequenceable(val: Sequenceable): boolean
console.log("RpcClient: writeSequenceable is " + result);
```
### readSequenceable
readSequenceable(dataIn: Sequenceable): boolean
......@@ -4106,11 +4069,11 @@ readSequenceable(dataIn: Sequenceable): boolean
| 类型 | 说明 |
| ------- | ------------------------------------------- |
| boolean | 如果反序列成功,则返回true;否则返回false。 |
| boolean | true:反序列化成功,false:反序列化失败。|
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -4138,7 +4101,6 @@ readSequenceable(dataIn: Sequenceable): boolean
console.log("RpcClient: writeSequenceable is " + result2);
```
### writeByteArray
writeByteArray(byteArray: number[]): boolean
......@@ -4157,18 +4119,17 @@ writeByteArray(byteArray: number[]): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let ByteArrayVar = [1, 2, 3, 4, 5];
let result = data.writeByteArray(ByteArrayVar);
console.log("RpcClient: writeByteArray is " + result);
```
### readByteArray
readByteArray(dataIn: number[]): void
......@@ -4185,7 +4146,7 @@ readByteArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let ByteArrayVar = [1, 2, 3, 4, 5];
let result = data.writeByteArray(ByteArrayVar);
......@@ -4194,7 +4155,6 @@ readByteArray(dataIn: number[]): void
data.readByteArray(array);
```
### readByteArray
readByteArray(): number[]
......@@ -4211,7 +4171,7 @@ readByteArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let ByteArrayVar = [1, 2, 3, 4, 5];
let result = data.writeByteArray(ByteArrayVar);
......@@ -4220,7 +4180,6 @@ readByteArray(): number[]
console.log("RpcClient: readByteArray is " + array);
```
### writeShortArray
writeShortArray(shortArray: number[]): boolean
......@@ -4239,17 +4198,16 @@ writeShortArray(shortArray: number[]): boolean
| 类型 | 说明 |
| ------- | ----------------------------- |
| boolean | 写入返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeShortArray([11, 12, 13]);
console.log("RpcClient: writeShortArray is " + result);
```
### readShortArray
readShortArray(dataIn: number[]): void
......@@ -4266,7 +4224,7 @@ readShortArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeShortArray([11, 12, 13]);
console.log("RpcClient: writeShortArray is " + result);
......@@ -4274,7 +4232,6 @@ readShortArray(dataIn: number[]): void
data.readShortArray(array);
```
### readShortArray
readShortArray(): number[]
......@@ -4291,7 +4248,7 @@ readShortArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeShortArray([11, 12, 13]);
console.log("RpcClient: writeShortArray is " + result);
......@@ -4299,7 +4256,6 @@ readShortArray(): number[]
console.log("RpcClient: readShortArray is " + array);
```
### writeIntArray
writeIntArray(intArray: number[]): boolean
......@@ -4318,17 +4274,16 @@ writeIntArray(intArray: number[]): boolean
| 类型 | 说明 |
| ------- | ----------------------------- |
| boolean | 写入返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeIntArray([100, 111, 112]);
console.log("RpcClient: writeIntArray is " + result);
```
### readIntArray
readIntArray(dataIn: number[]): void
......@@ -4345,7 +4300,7 @@ readIntArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeIntArray([100, 111, 112]);
console.log("RpcClient: writeIntArray is " + result);
......@@ -4353,7 +4308,6 @@ readIntArray(dataIn: number[]): void
data.readIntArray(array);
```
### readIntArray
readIntArray(): number[]
......@@ -4370,7 +4324,7 @@ readIntArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeIntArray([100, 111, 112]);
console.log("RpcClient: writeIntArray is " + result);
......@@ -4378,7 +4332,6 @@ readIntArray(): number[]
console.log("RpcClient: readIntArray is " + array);
```
### writeLongArray
writeLongArray(longArray: number[]): boolean
......@@ -4397,17 +4350,16 @@ writeLongArray(longArray: number[]): boolean
| 类型 | 说明 |
| ------- | ----------------------------- |
| boolean | 写入返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeLongArray([1111, 1112, 1113]);
console.log("RpcClient: writeLongArray is " + result);
```
### readLongArray
readLongArray(dataIn: number[]): void
......@@ -4424,7 +4376,7 @@ readLongArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeLongArray([1111, 1112, 1113]);
console.log("RpcClient: writeLongArray is " + result);
......@@ -4432,7 +4384,6 @@ readLongArray(dataIn: number[]): void
data.readLongArray(array);
```
### readLongArray
readLongArray(): number[]
......@@ -4449,7 +4400,7 @@ readLongArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeLongArray([1111, 1112, 1113]);
console.log("RpcClient: writeLongArray is " + result);
......@@ -4457,7 +4408,6 @@ readLongArray(): number[]
console.log("RpcClient: readLongArray is " + array);
```
### writeFloatArray
writeFloatArray(floatArray: number[]): boolean
......@@ -4476,17 +4426,16 @@ writeFloatArray(floatArray: number[]): boolean
| 类型 | 说明 |
| ------- | ----------------------------- |
| boolean | 写入返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeFloatArray([1.2, 1.3, 1.4]);
console.log("RpcClient: writeFloatArray is " + result);
```
### readFloatArray
readFloatArray(dataIn: number[]): void
......@@ -4503,7 +4452,7 @@ readFloatArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeFloatArray([1.2, 1.3, 1.4]);
console.log("RpcClient: writeFloatArray is " + result);
......@@ -4511,7 +4460,6 @@ readFloatArray(dataIn: number[]): void
data.readFloatArray(array);
```
### readFloatArray
readFloatArray(): number[]
......@@ -4528,7 +4476,7 @@ readFloatArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeFloatArray([1.2, 1.3, 1.4]);
console.log("RpcClient: writeFloatArray is " + result);
......@@ -4536,7 +4484,6 @@ readFloatArray(): number[]
console.log("RpcClient: readFloatArray is " + array);
```
### writeDoubleArray
writeDoubleArray(doubleArray: number[]): boolean
......@@ -4555,17 +4502,16 @@ writeDoubleArray(doubleArray: number[]): boolean
| 类型 | 说明 |
| ------- | ----------------------------- |
| boolean | 写入返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeDoubleArray([11.1, 12.2, 13.3]);
console.log("RpcClient: writeDoubleArray is " + result);
```
### readDoubleArray
readDoubleArray(dataIn: number[]): void
......@@ -4582,7 +4528,7 @@ readDoubleArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeDoubleArray([11.1, 12.2, 13.3]);
console.log("RpcClient: writeDoubleArray is " + result);
......@@ -4590,7 +4536,6 @@ readDoubleArray(dataIn: number[]): void
data.readDoubleArray(array);
```
### readDoubleArray
readDoubleArray(): number[]
......@@ -4607,7 +4552,7 @@ readDoubleArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeDoubleArray([11.1, 12.2, 13.3]);
console.log("RpcClient: writeDoubleArray is " + result);
......@@ -4615,7 +4560,6 @@ readDoubleArray(): number[]
console.log("RpcClient: readDoubleArray is " + array);
```
### writeBooleanArray
writeBooleanArray(booleanArray: boolean[]): boolean
......@@ -4634,17 +4578,16 @@ writeBooleanArray(booleanArray: boolean[]): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeBooleanArray([false, true, false]);
console.log("RpcClient: writeBooleanArray is " + result);
```
### readBooleanArray
readBooleanArray(dataIn: boolean[]): void
......@@ -4661,7 +4604,7 @@ readBooleanArray(dataIn: boolean[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeBooleanArray([false, true, false]);
console.log("RpcClient: writeBooleanArray is " + result);
......@@ -4669,7 +4612,6 @@ readBooleanArray(dataIn: boolean[]): void
data.readBooleanArray(array);
```
### readBooleanArray
readBooleanArray(): boolean[]
......@@ -4686,7 +4628,7 @@ readBooleanArray(): boolean[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeBooleanArray([false, true, false]);
console.log("RpcClient: writeBooleanArray is " + result);
......@@ -4694,7 +4636,6 @@ readBooleanArray(): boolean[]
console.log("RpcClient: readBooleanArray is " + array);
```
### writeCharArray
writeCharArray(charArray: number[]): boolean
......@@ -4713,17 +4654,16 @@ writeCharArray(charArray: number[]): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeCharArray([97, 98, 88]);
console.log("RpcClient: writeCharArray is " + result);
```
### readCharArray
readCharArray(dataIn: number[]): void
......@@ -4740,7 +4680,7 @@ readCharArray(dataIn: number[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeCharArray([97, 98, 99]);
console.log("RpcClient: writeCharArray is " + result);
......@@ -4748,7 +4688,6 @@ readCharArray(dataIn: number[]): void
data.readCharArray(array);
```
### readCharArray
readCharArray(): number[]
......@@ -4765,7 +4704,7 @@ readCharArray(): number[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeCharArray([97, 98, 99]);
console.log("RpcClient: writeCharArray is " + result);
......@@ -4773,7 +4712,6 @@ readCharArray(): number[]
console.log("RpcClient: readCharArray is " + array);
```
### writeStringArray
writeStringArray(stringArray: string[]): boolean
......@@ -4792,17 +4730,16 @@ writeStringArray(stringArray: string[]): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeStringArray(["abc", "def"]);
console.log("RpcClient: writeStringArray is " + result);
```
### readStringArray
readStringArray(dataIn: string[]): void
......@@ -4819,7 +4756,7 @@ readStringArray(dataIn: string[]): void
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeStringArray(["abc", "def"]);
console.log("RpcClient: writeStringArray is " + result);
......@@ -4827,7 +4764,6 @@ readStringArray(dataIn: string[]): void
data.readStringArray(array);
```
### readStringArray
readStringArray(): string[]
......@@ -4844,7 +4780,7 @@ readStringArray(): string[]
**示例:**
```
```ts
let data = rpc.MessageParcel.create();
let result = data.writeStringArray(["abc", "def"]);
console.log("RpcClient: writeStringArray is " + result);
......@@ -4852,7 +4788,6 @@ readStringArray(): string[]
console.log("RpcClient: readStringArray is " + array);
```
### writeNoException<sup>8+</sup>
writeNoException(): void
......@@ -4863,7 +4798,7 @@ writeNoException(): void
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -4905,7 +4840,7 @@ readException(): void
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -4967,11 +4902,11 @@ writeSequenceableArray(sequenceableArray: Sequenceable[]): boolean
| 类型 | 说明 |
| ------- | --------------------------------- |
| boolean | 写入成功返回true,否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -4999,7 +4934,6 @@ writeSequenceableArray(sequenceableArray: Sequenceable[]): boolean
console.log("RpcClient: writeSequenceableArray is " + result);
```
### readSequenceableArray<sup>8+</sup>
readSequenceableArray(sequenceableArray: Sequenceable[]): void
......@@ -5016,7 +4950,7 @@ readSequenceableArray(sequenceableArray: Sequenceable[]): void
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -5046,7 +4980,6 @@ readSequenceableArray(sequenceableArray: Sequenceable[]): void
data.readSequenceableArray(b);
```
### writeRemoteObjectArray<sup>8+</sup>
writeRemoteObjectArray(objectArray: IRemoteObject[]): boolean
......@@ -5065,11 +4998,11 @@ writeRemoteObjectArray(objectArray: IRemoteObject[]): boolean
| 类型 | 说明 |
| ------- | -------------------------------------------------------------------------------------------------------------------- |
| boolean | 如果IRemoteObject对象数组成功写入MessageParcel,则返回true;如果对象为null或数组写入MessageParcel失败,则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -5099,7 +5032,6 @@ writeRemoteObjectArray(objectArray: IRemoteObject[]): boolean
console.log("RpcClient: writeRemoteObjectArray is " + result);
```
### readRemoteObjectArray<sup>8+</sup>
readRemoteObjectArray(objects: IRemoteObject[]): void
......@@ -5116,7 +5048,7 @@ readRemoteObjectArray(objects: IRemoteObject[]): void
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -5147,7 +5079,6 @@ readRemoteObjectArray(objects: IRemoteObject[]): void
data.readRemoteObjectArray(b);
```
### readRemoteObjectArray<sup>8+</sup>
readRemoteObjectArray(): IRemoteObject[]
......@@ -5164,7 +5095,7 @@ readRemoteObjectArray(): IRemoteObject[]
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -5196,12 +5127,11 @@ readRemoteObjectArray(): IRemoteObject[]
console.log("RpcClient: readRemoteObjectArray is " + b);
```
### closeFileDescriptor<sup>8+</sup>
static closeFileDescriptor(fd: number): void
关闭给定的文件描述符。
静态方法,关闭给定的文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -5213,19 +5143,18 @@ static closeFileDescriptor(fd: number): void
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let filePath = "path/to/file";
let fd = fileio.openSync(filePath, 0o2| 0o100, 0o666);
rpc.MessageParcel.closeFileDescriptor(fd);
```
### dupFileDescriptor<sup>8+</sup>
static dupFileDescriptor(fd: number) :number
复制给定的文件描述符。
静态方法,复制给定的文件描述符。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -5243,14 +5172,13 @@ static dupFileDescriptor(fd: number) :number
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let filePath = "path/to/file";
let fd = fileio.openSync(filePath, 0o2| 0o100, 0o666);
let newFd = rpc.MessageParcel.dupFileDescriptor(fd);
```
### containFileDescriptors<sup>8+</sup>
containFileDescriptors(): boolean
......@@ -5263,11 +5191,11 @@ containFileDescriptors(): boolean
| 类型 | 说明 |
| ------- | ------------------------------------------------------------------ |
| boolean | 如果此MessageParcel对象包含文件描述符,则返回true;否则返回false。 |
| boolean |true:包含文件描述符,false:未包含文件描述符。|
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let parcel = new rpc.MessageParcel();
let filePath = "path/to/file";
......@@ -5279,7 +5207,6 @@ containFileDescriptors(): boolean
console.log("RpcTest: parcel after write fd containFd result is : " + containFD);
```
### writeFileDescriptor<sup>8+</sup>
writeFileDescriptor(fd: number): boolean
......@@ -5298,11 +5225,11 @@ writeFileDescriptor(fd: number): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果操作成功,则返回true;否则返回false。 |
| boolean | true:操作成功,false:操作失败。|
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let parcel = new rpc.MessageParcel();
let filePath = "path/to/file";
......@@ -5311,7 +5238,6 @@ writeFileDescriptor(fd: number): boolean
console.log("RpcTest: parcel writeFd result is : " + writeResult);
```
### readFileDescriptor<sup>8+</sup>
readFileDescriptor(): number
......@@ -5328,7 +5254,7 @@ readFileDescriptor(): number
**示例:**
```
```ts
import fileio from '@ohos.fileio';
let parcel = new rpc.MessageParcel();
let filePath = "path/to/file";
......@@ -5338,7 +5264,6 @@ readFileDescriptor(): number
console.log("RpcTest: parcel read fd is : " + readFD);
```
### writeAshmem<sup>8+</sup>
writeAshmem(ashmem: Ashmem): boolean
......@@ -5357,18 +5282,17 @@ writeAshmem(ashmem: Ashmem): boolean
| 类型 | 说明 |
| ------- | -------------------------------------------------------------------- |
| boolean | 如果匿名共享对象成功写入此MessageParcel,则返回true;否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let parcel = new rpc.MessageParcel();
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024);
let isWriteSuccess = parcel.writeAshmem(ashmem);
console.log("RpcTest: write ashmem to result is : " + isWriteSuccess);
```
### readAshmem<sup>8+</sup>
readAshmem(): Ashmem
......@@ -5385,7 +5309,7 @@ readAshmem(): Ashmem
**示例:**
```
```ts
let parcel = new rpc.MessageParcel();
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024);
let isWriteSuccess = parcel.writeAshmem(ashmem);
......@@ -5394,7 +5318,6 @@ readAshmem(): Ashmem
console.log("RpcTest: read ashmem to result is : " + readAshmem);
```
### getRawDataCapacity<sup>8+</sup>
getRawDataCapacity(): number
......@@ -5411,13 +5334,12 @@ getRawDataCapacity(): number
**示例:**
```
```ts
let parcel = new rpc.MessageParcel();
let result = parcel.getRawDataCapacity();
console.log("RpcTest: parcel get RawDataCapacity result is : " + result);
```
### writeRawData<sup>8+</sup>
writeRawData(rawData: number[], size: number): boolean
......@@ -5437,18 +5359,17 @@ writeRawData(rawData: number[], size: number): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果操作成功,则返回true;否则返回false。 |
| boolean | true:写入成功,false:写入失败。|
**示例:**
```
```ts
let parcel = new rpc.MessageParcel();
let arr = [1, 2, 3, 4, 5];
let isWriteSuccess = parcel.writeRawData(arr, arr.length);
console.log("RpcTest: parcel write raw data result is : " + isWriteSuccess);
```
### readRawData<sup>8+</sup>
readRawData(size: number): number[]
......@@ -5471,7 +5392,7 @@ readRawData(size: number): number[]
**示例:**
```
```ts
let parcel = new rpc.MessageParcel();
let arr = [1, 2, 3, 4, 5];
let isWriteSuccess = parcel.writeRawData(arr, arr.length);
......@@ -5480,7 +5401,6 @@ readRawData(size: number): number[]
console.log("RpcTest: parcel read raw data result is : " + result);
```
## Parcelable<sup>9+</sup>
在进程间通信(IPC)期间,将类的对象写入MessageSequence并从MessageSequence中恢复它们。
......@@ -5503,11 +5423,10 @@ marshalling(dataOut: MessageSequence): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果封送成功,则返回true;否则返回false。 |
| boolean | true:封送成功,false:封送失败。
**示例:**
```
```ts
class MyParcelable {
num: number;
str: string;
......@@ -5535,7 +5454,6 @@ marshalling(dataOut: MessageSequence): boolean
console.log("RpcClient: readParcelable is " + result2);
```
### unmarshalling
unmarshalling(dataIn: MessageSequence): boolean
......@@ -5554,11 +5472,11 @@ unmarshalling(dataIn: MessageSequence): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果可序列化成功,则返回true;否则返回false。 |
| boolean | true:反序列化成功,false:反序列化失败。|
**示例:**
```
```ts
class MyParcelable {
num: number;
str: string;
......@@ -5586,7 +5504,6 @@ unmarshalling(dataIn: MessageSequence): boolean
console.log("RpcClient: readParcelable is " + result2);
```
## Sequenceable<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[Parcelable](#parcelable9)类替代。
......@@ -5611,11 +5528,10 @@ marshalling(dataOut: MessageParcel): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果封送成功,则返回true;否则返回false。 |
| boolean | true:封送成功,false:封送失败。
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -5643,7 +5559,6 @@ marshalling(dataOut: MessageParcel): boolean
console.log("RpcClient: readSequenceable is " + result2);
```
### unmarshalling
unmarshalling(dataIn: MessageParcel): boolean
......@@ -5662,11 +5577,11 @@ unmarshalling(dataIn: MessageParcel): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果可序列化成功,则返回true;否则返回false。 |
| boolean | true:反序列化成功,false:反序列化失败。|
**示例:**
```
```ts
class MySequenceable {
num: number;
str: string;
......@@ -5694,7 +5609,6 @@ unmarshalling(dataIn: MessageParcel): boolean
console.log("RpcClient: readSequenceable is " + result2);
```
## IRemoteBroker
远端对象的代理持有者。用于获取代理对象。
......@@ -5715,17 +5629,38 @@ asObject(): IRemoteObject
**示例:**
```
```ts
class TestAbility extends rpc.RemoteObject {
asObject() {
return this;
}
}
let remoteObject = new TestAbility().asObject();
```
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
onConnect: function (elementName, remoteProxy) {
console.log("RpcClient: js onConnect called.");
proxy = remoteProxy;
},
onDisconnect: function (elementName) {
console.log("RpcClient: onDisconnect");
},
onFailed: function () {
console.log("RpcClient: onFailed");
}
};
let want = {
"bundleName": "com.ohos.server",
"abilityName": "com.ohos.server.MainAbility",
};
FA.connectAbility(want, connect);
class TestProxy {
remote: rpc.RemoteObject;
constructor(remote) {
......@@ -5735,6 +5670,8 @@ asObject(): IRemoteObject
return this.remote;
}
}
let iRemoteObject = new TestProxy(proxy).asObject();
```
## DeathRecipient
......@@ -5751,7 +5688,7 @@ onRemoteDied(): void
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -5795,7 +5732,7 @@ onRemoteDied(): void
getLocalInterface(descriptor: string): IRemoteBroker
查询接口。
查询接口描述符的字符串
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -5817,7 +5754,7 @@ getLocalInterface(descriptor: string): IRemoteBroker
queryLocalInterface(descriptor: string): IRemoteBroker
查询接口。
查询接口描述符的字符串
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -5833,7 +5770,6 @@ queryLocalInterface(descriptor: string): IRemoteBroker
| ------------- | --------------------------------------------- |
| IRemoteBroker | 返回绑定到指定接口描述符的IRemoteBroker对象。 |
### sendRequest<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[sendMessageRequest](#sendmessagerequest9)类替代。
......@@ -5857,7 +5793,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 返回一个布尔值,true表示成功,false表示失败。 |
| boolean | true:发送成功,false:发送失败。|
### sendRequest<sup>8+(deprecated)</sup>
......@@ -5928,7 +5864,6 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
| callback | AsyncCallback&lt;RequestResult&gt; | 是 | 接收发送结果的回调。 |
### sendRequest<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[sendMessageRequest](#sendmessagerequest9)类替代。
......@@ -5949,7 +5884,6 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
| callback | AsyncCallback&lt;SendRequestResult&gt; | 是 | 接收发送结果的回调。 |
### registerDeathRecipient<sup>9+</sup>
registerDeathRecipient(recipient: DeathRecipient, flags: number): void
......@@ -5973,7 +5907,6 @@ registerDeathRecipient(recipient: DeathRecipient, flags: number): void
| ------- | -------- |
| 1900008 | proxy or remote object is invalid |
### addDeathrecipient<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[registerDeathRecipient](#registerdeathrecipient9)类替代。
......@@ -5995,7 +5928,7 @@ addDeathRecipient(recipient: DeathRecipient, flags: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果回调注册成功,则返回true;否则返回false。 |
| boolean | true:回调注册成功,false:回调注册失败。|
### unregisterDeathRecipient<sup>9+</sup>
......@@ -6021,7 +5954,6 @@ unregisterDeathRecipient(recipient: DeathRecipient, flags: number): void
| ------- | -------- |
| 1900008 | proxy or remote object is invalid |
### removeDeathRecipient<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[unregisterDeathRecipient](#unregisterdeathrecipient9)类替代。
......@@ -6043,14 +5975,13 @@ removeDeathRecipient(recipient: DeathRecipient, flags: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果回调成功注销,则返回true;否则返回false。 |
| boolean | true:回调注销成功,false:回调注销失败。|
### getDescriptor<sup>9+</sup>
getDescriptor(): string
获取对象的接口描述符接口描述符为字符串。
获取对象的接口描述符接口描述符为字符串。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -6075,7 +6006,7 @@ getDescriptor(): string
getInterfaceDescriptor(): string
获取对象的接口描述符接口描述符为字符串。
获取对象的接口描述符接口描述符为字符串。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -6098,7 +6029,7 @@ isObjectDead(): boolean
| 类型 | 说明 |
| ------- | ------------------------------------------- |
| boolean | 如果对象已死亡,则返回true;否则返回false。 |
| boolean | true:对象死亡,false:对象未死亡。|
## RemoteProxy
......@@ -6107,7 +6038,7 @@ isObjectDead(): boolean
**系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。
| 名称 | 值 | 说明 |
| 名称 | 默认值 | 说明 |
| --------------------- | ----------------------- | --------------------------------- |
| PING_TRANSACTION | 1599098439 (0x5f504e47) | 内部指令码,用于测试IPC服务正常。 |
| DUMP_TRANSACTION | 1598311760 (0x5f444d50) | 内部指令码,获取Binder内部状态。 |
......@@ -6115,7 +6046,6 @@ isObjectDead(): boolean
| MIN_TRANSACTION_ID | 1 (0x00000001) | 最小有效指令码。 |
| MAX_TRANSACTION_ID | 16777215 (0x00FFFFFF) | 最大有效指令码。 |
### sendRequest<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[sendMessageRequest](#sendmessagerequest9)类替代。
......@@ -6139,11 +6069,11 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 返回一个布尔值,true表示成功,false表示失败。 |
| boolean | true:发送成功,false:发送失败。|
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6181,7 +6111,6 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
reply.reclaim();
```
### sendMessageRequest<sup>9+</sup>
sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence, options: MessageOption): Promise&lt;RequestResult&gt;
......@@ -6207,7 +6136,7 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6251,7 +6180,6 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
});
```
### sendRequest<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[sendMessageRequest](#sendmessagerequest9)类替代。
......@@ -6279,7 +6207,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6341,10 +6269,9 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
| options | [MessageOption](#messageoption) | 是 | 本次请求的同异步模式,默认同步调用。 |
| callback | AsyncCallback&lt;RequestResult&gt; | 是 | 接收发送结果的回调。 |
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6390,7 +6317,6 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
}
```
### sendRequest<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[sendMessageRequest](#sendmessagerequest9)类替代。
......@@ -6413,7 +6339,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6454,7 +6380,6 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
proxy.sendRequest(1, data, reply, option, sendRequestCallback);
```
### getLocalInterface<sup>9+</sup>
getLocalInterface(interface: string): IRemoteBroker
......@@ -6485,7 +6410,7 @@ getLocalInterface(interface: string): IRemoteBroker
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6514,7 +6439,6 @@ getLocalInterface(interface: string): IRemoteBroker
}
```
### queryLocalInterface<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[getLocalInterface](#getlocalinterface9)类替代。
......@@ -6539,7 +6463,7 @@ queryLocalInterface(interface: string): IRemoteBroker
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6563,7 +6487,6 @@ queryLocalInterface(interface: string): IRemoteBroker
console.log("RpcClient: queryLocalInterface is " + broker);
```
### registerDeathRecipient<sup>9+</sup>
registerDeathRecipient(recipient: DeathRecipient, flags: number): void
......@@ -6589,7 +6512,7 @@ registerDeathRecipient(recipient: DeathRecipient, flags: number): void
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6623,7 +6546,6 @@ registerDeathRecipient(recipient: DeathRecipient, flags: number): void
}
```
### addDeathRecippient<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[registerDeathRecipient](#registerdeathrecipient9)类替代。
......@@ -6645,11 +6567,11 @@ addDeathRecipient(recipient: DeathRecipient, flags: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果回调注册成功,则返回true;否则返回false。 |
| boolean | true:回调注册成功,false:回调注册失败。|
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6703,7 +6625,7 @@ unregisterDeathRecipient(recipient: DeathRecipient, flags: number): boolean
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6738,7 +6660,6 @@ unregisterDeathRecipient(recipient: DeathRecipient, flags: number): boolean
}
```
### removeDeathRecipient<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[unregisterDeathRecipient](#unregisterdeathrecipient9)类替代。
......@@ -6760,11 +6681,11 @@ removeDeathRecipient(recipient: DeathRecipient, flags: number): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果回调成功注销,则返回true;否则返回false。 |
| boolean | true:回调注销成功,false:回调注销失败。|
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6794,12 +6715,11 @@ removeDeathRecipient(recipient: DeathRecipient, flags: number): boolean
proxy.removeDeathRecipient(deathRecipient, 0);
```
### getDescriptor<sup>9+</sup>
getDescriptor(): string
获取对象的接口描述符接口描述符为字符串。
获取对象的接口描述符接口描述符为字符串。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -6820,7 +6740,7 @@ getDescriptor(): string
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6849,7 +6769,6 @@ getDescriptor(): string
}
```
### getInterfaceDescriptor<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[getDescriptor](#getdescriptor9)类替代。
......@@ -6868,7 +6787,7 @@ getInterfaceDescriptor(): string
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6892,7 +6811,6 @@ getInterfaceDescriptor(): string
console.log("RpcClient: descriptor is " + descriptor);
```
### isObjectDead
isObjectDead(): boolean
......@@ -6905,11 +6823,11 @@ isObjectDead(): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------------------- |
| boolean | 如果对应的RemoteObject已经死亡,返回true,否则返回false。 |
| boolean | true:对应的对象已经死亡,false:对应的对象未死亡|
**示例:**
```
```ts
import FA from "@ohos.ability.featureAbility";
let proxy;
let connect = {
......@@ -6933,14 +6851,13 @@ isObjectDead(): boolean
console.log("RpcClient: isObjectDead is " + isDead);
```
## MessageOption
公共消息选项(int标志,int等待时间),使用标志中指定的标志构造指定的MessageOption对象。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。
| 名称 | 值 | 说明 |
| 名称 | 默认值 | 说明 |
| ------------- | ---- | ----------------------------------------------------------- |
| TF_SYNC | 0 | 同步调用标识。 |
| TF_ASYNC | 1 | 异步调用标识。 |
......@@ -6963,6 +6880,16 @@ MessageOption构造函数。
| syncFlags | number | 否 | 同步调用或异步调用标志。默认同步调用。 |
**示例:**
```ts
class TestRemoteObject extends rpc.MessageOption {
constructor(async) {
super(async);
}
}
```
### constructor
constructor(syncFlags?: number, waitTime?: number)
......@@ -6978,7 +6905,15 @@ MessageOption构造函数。
| syncFlags | number | 否 | 同步调用或异步调用标志。默认同步调用。 |
| waitTime | number | 否 | 调用rpc最长等待时间。默认&nbsp;TF_WAIT_TIME。 |
**示例:**
```ts
class TestRemoteObject extends rpc.MessageOption {
constructor(syncFlags,waitTime) {
super(syncFlags,waitTime);
}
}
```
### isAsync<sup>9+</sup>
isAsync(): boolean;
......@@ -6991,8 +6926,14 @@ isAsync(): boolean;
| 类型 | 说明 |
| ------- | ------------------------------------ |
| boolean | 调用成功返回同步调用或异步调用标志。 |
| boolean | true:同步调用成功,false:异步调用成功。 |
**示例:**
```ts
let option = new rpc.MessageOption();
let isAsync = option.isAsync();
```
### setAsync<sup>9+</sup>
......@@ -7002,6 +6943,13 @@ setAsync(async: boolean): void;
**系统能力**:SystemCapability.Communication.IPC.Core
**示例:**
```ts
let option = new rpc.MessageOption();
let setAsync = option.setAsync(true);
console.log("Set synchronization flag");
```
### getFlags
......@@ -7017,7 +6965,23 @@ getFlags(): number
| ------ | ------------------------------------ |
| number | 调用成功返回同步调用或异步调用标志。 |
**示例:**
```ts
try {
let option = new rpc.MessageOption();
console.info("create object successfully.");
let flog = option.getFlags();
console.info("run getFlags success, flog is " + flog);
option.setFlags(1)
console.info("run setFlags success");
let flog2 = option.getFlags();
console.info("run getFlags success, flog2 is " + flog2);
} catch (error) {
console.info("error " + error);
}
```
### setFlags
setFlags(flags: number): void
......@@ -7032,6 +6996,19 @@ setFlags(flags: number): void
| ------ | ------ | ---- | ------------------------ |
| flags | number | 是 | 同步调用或异步调用标志。 |
**示例:**
```ts
try {
let option = new rpc.MessageOption();
option.setFlags(1)
console.info("run setFlags success");
let flog = option.getFlags();
console.info("run getFlags success, flog is " + flog);
} catch (error) {
console.info("error " + error);
}
```
### getWaitTime
......@@ -7047,6 +7024,20 @@ getWaitTime(): number
| ------ | ----------------- |
| number | rpc最长等待时间。 |
**示例:**
```ts
try {
let option = new rpc.MessageOption();
let time = option.getWaitTime();
console.info("run getWaitTime success");
option.setWaitTime(16);
let time2 = option.getWaitTime();
console.info("run getWaitTime success, time is " + time);
} catch (error) {
console.info("error " + error);
}
```
### setWaitTime
......@@ -7062,6 +7053,18 @@ setWaitTime(waitTime: number): void
| -------- | ------ | ---- | --------------------- |
| waitTime | number | 是 | rpc调用最长等待时间。 |
**示例:**
```ts
try {
let option = new rpc.MessageOption();
option.setWaitTime(16);
let time = option.getWaitTime();
console.info("run getWaitTime success, time is " + time);
} catch (error) {
console.info("error " + error);
}
```
## IPCSkeleton
......@@ -7071,7 +7074,7 @@ setWaitTime(waitTime: number): void
static getContextObject(): IRemoteObject
获取系统能力的管理者。
静态方法,获取系统能力的管理者。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7083,17 +7086,16 @@ static getContextObject(): IRemoteObject
**示例:**
```
```ts
let samgr = rpc.IPCSkeleton.getContextObject();
console.log("RpcServer: getContextObject result: " + samgr);
```
### getCallingPid
static getCallingPid(): number
获取调用者的PID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的PID。
静态方法,获取调用者的PID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的PID。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7105,7 +7107,7 @@ static getCallingPid(): number
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let callerPid = rpc.IPCSkeleton.getCallingPid();
......@@ -7115,12 +7117,11 @@ static getCallingPid(): number
}
```
### getCallingUid
static getCallingUid(): number
获取调用者的UID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的UID。
静态方法,获取调用者的UID。此方法由RemoteObject对象在onRemoteRequest方法中调用,不在IPC上下文环境(onRemoteRequest)中调用则返回本进程的UID。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7132,7 +7133,7 @@ static getCallingUid(): number
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let callerUid = rpc.IPCSkeleton.getCallingUid();
......@@ -7142,16 +7143,14 @@ static getCallingUid(): number
}
```
### getCallingTokenId<sup>8+</sup>
static getCallingTokenId(): number;
获取调用者的TokenId,用于被调用方对调用方的身份校验。
静态方法,获取调用者的TokenId,用于被调用方对调用方的身份校验。
**系统能力**:SystemCapability.Communication.IPC.Core
**返回值:**
| 类型 | 说明 |
......@@ -7160,7 +7159,7 @@ static getCallingTokenId(): number;
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let callerTokenId = rpc.IPCSkeleton.getCallingTokenId();
......@@ -7175,7 +7174,7 @@ static getCallingTokenId(): number;
static getCallingDeviceID(): string
获取调用者进程所在的设备ID。
静态方法,获取调用者进程所在的设备ID。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7187,7 +7186,7 @@ static getCallingDeviceID(): string
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let callerDeviceID = rpc.IPCSkeleton.getCallingDeviceID();
......@@ -7197,12 +7196,11 @@ static getCallingDeviceID(): string
}
```
### getLocalDeviceID
static getLocalDeviceID(): string
获取本端设备ID。
静态方法,获取本端设备ID。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7214,7 +7212,7 @@ static getLocalDeviceID(): string
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let localDeviceID = rpc.IPCSkeleton.getLocalDeviceID();
......@@ -7224,12 +7222,11 @@ static getLocalDeviceID(): string
}
```
### isLocalCalling
static isLocalCalling(): boolean
检查当前通信对端是否是本设备的进程。
静态方法,检查当前通信对端是否是本设备的进程。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7237,11 +7234,11 @@ static isLocalCalling(): boolean
| 类型 | 说明 |
| ------- | --------------------------------------------------------- |
| boolean | 如果调用是在同一设备上进行的,则返回true,否则返回false。 |
| boolean | true:调用在同一台设备,false:调用未在同一台设备。|
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let isLocalCalling = rpc.IPCSkeleton.isLocalCalling();
......@@ -7251,12 +7248,11 @@ static isLocalCalling(): boolean
}
```
### flushCmdBuffer<sup>9+</sup>
static flushCmdBuffer(object: IRemoteObject): void
将所有挂起的命令从指定的RemoteProxy刷新到相应的RemoteObject。建议在执行任何时间敏感操作之前调用此方法。
静态方法,将所有挂起的命令从指定的RemoteProxy刷新到相应的RemoteObject。建议在执行任何时间敏感操作之前调用此方法。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7269,7 +7265,7 @@ static flushCmdBuffer(object: IRemoteObject): void
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7284,14 +7280,13 @@ static flushCmdBuffer(object: IRemoteObject): void
}
```
### flushCommands<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[flushCmdBuffer](#flushcmdbuffer9)类替代。
static flushCommands(object: IRemoteObject): number
将所有挂起的命令从指定的RemoteProxy刷新到相应的RemoteObject。建议在执行任何时间敏感操作之前调用此方法。
静态方法,将所有挂起的命令从指定的RemoteProxy刷新到相应的RemoteObject。建议在执行任何时间敏感操作之前调用此方法。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7309,7 +7304,7 @@ static flushCommands(object: IRemoteObject): number
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -7338,7 +7333,7 @@ static flushCommands(object: IRemoteObject): number
static resetCallingIdentity(): string
将远程用户的UID和PID替换为本地用户的UID和PID。它可以用于身份验证等场景。
静态方法,将远程用户的UID和PID替换为本地用户的UID和PID。它可以用于身份验证等场景。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7350,7 +7345,7 @@ static resetCallingIdentity(): string
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let callingIdentity = rpc.IPCSkeleton.resetCallingIdentity();
......@@ -7365,7 +7360,7 @@ static resetCallingIdentity(): string
static restoreCallingIdentity(identity: string): void
将远程用户的UID和PID替换为本地用户的UID和PID。它可以用于身份验证等场景。
静态方法,将远程用户的UID和PID替换为本地用户的UID和PID。它可以用于身份验证等场景。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7377,7 +7372,7 @@ static restoreCallingIdentity(identity: string): void
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let callingIdentity = null;
......@@ -7392,14 +7387,13 @@ static restoreCallingIdentity(identity: string): void
}
```
### setCallingIdentity<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[restoreCallingIdentity](#restorecallingidentity9)类替代。
static setCallingIdentity(identity: string): boolean
将UID和PID恢复为远程用户的UID和PID。它通常在使用resetCallingIdentity后调用,需要resetCallingIdentity返回的远程用户的UID和PID。
静态方法,将UID和PID恢复为远程用户的UID和PID。它通常在使用resetCallingIdentity后调用,需要resetCallingIdentity返回的远程用户的UID和PID。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -7413,11 +7407,11 @@ static setCallingIdentity(identity: string): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果操作成功,则返回true;否则返回false。 |
| boolean | true:设置成功,false:设置失败。|
**示例:**
```
```ts
class Stub extends rpc.RemoteObject {
onRemoteMessageRequest(code, data, reply, option) {
let callingIdentity = null;
......@@ -7433,7 +7427,6 @@ static setCallingIdentity(identity: string): boolean
}
```
## RemoteObject
实现远程对象。服务提供者必须继承此类。
......@@ -7476,11 +7469,11 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 返回一个布尔值,true表示成功,false表示失败。 |
| boolean | true:发送成功,false:发送失败。|
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -7519,7 +7512,6 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
reply.reclaim();
```
### sendRequest<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[sendMessageRequest](#sendmessagerequest9)类替代。
......@@ -7547,7 +7539,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -7617,7 +7609,7 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7648,7 +7640,6 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
});
```
### sendMessageRequest<sup>9+</sup>
sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence, options: MessageOption, callback: AsyncCallback&lt;RequestResult&gt;): void
......@@ -7669,7 +7660,7 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7697,7 +7688,6 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
testRemoteObject.sendMessageRequest(1, data, reply, option, sendRequestCallback);
```
### sendRequest<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[sendMessageRequest](#sendmessagerequest9)类替代。
......@@ -7720,7 +7710,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -7762,7 +7752,6 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
testRemoteObject.sendRequest(1, data, reply, option, sendRequestCallback);
```
### onRemoteRequest<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[onRemoteMessageRequest](#onremotemessagerequest9)类替代。
......@@ -7786,11 +7775,11 @@ sendMessageRequest请求的响应处理函数,服务端在该函数里处理
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果操作成功,则返回true;否则返回false。 |
| boolean | true:操作成功,false:操作失败。|
**示例:**
```ets
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -7847,12 +7836,12 @@ sendMessageRequest请求的响应处理函数,服务端在该函数里同步
| 类型 | 说明 |
| ----------------- | ---------------------------------------------------------------------------------------------- |
| boolean | 若在onRemoteMessageRequest中同步地处理请求,则返回一个布尔值:操作成功,则返回true;否则返回false。 |
| boolean | 若在onRemoteMessageRequest中同步地处理请求,则返回一个布尔值:true:操作成功,false:操作失败。 |
| Promise\<boolean> | 若在onRemoteMessageRequest中异步地处理请求,则返回一个Promise对象。 |
**重载onRemoteMessageRequest方法同步处理请求示例:**
```ets
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7872,7 +7861,7 @@ sendMessageRequest请求的响应处理函数,服务端在该函数里同步
**重载onRemoteMessageRequest方法异步处理请求示例:**
```ets
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7895,7 +7884,7 @@ sendMessageRequest请求的响应处理函数,服务端在该函数里同步
**同时重载onRemoteMessageRequest和onRemoteRequest方法同步处理请求示例:**
```ets
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7926,7 +7915,7 @@ sendMessageRequest请求的响应处理函数,服务端在该函数里同步
**同时重载onRemoteMessageRequest和onRemoteRequest方法异步处理请求示例:**
```ets
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7957,7 +7946,6 @@ sendMessageRequest请求的响应处理函数,服务端在该函数里同步
}
```
### getCallingUid
getCallingUid(): number
......@@ -7973,7 +7961,7 @@ getCallingUid(): number
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -7999,7 +7987,7 @@ getCallingPid(): number
**示例:**
```
```ts
class TestRemoteObject extends rpc.RemoteObject {
constructor(descriptor) {
super(descriptor);
......@@ -8013,7 +8001,7 @@ getCallingPid(): number
getLocalInterface(descriptor: string): IRemoteBroker
查询接口。
查询接口描述符的字符串
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -8032,7 +8020,7 @@ getLocalInterface(descriptor: string): IRemoteBroker
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -8057,7 +8045,6 @@ getLocalInterface(descriptor: string): IRemoteBroker
}
```
### queryLocalInterface<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[getLocalInterface](#getlocalinterface9)类替代。
......@@ -8082,7 +8069,7 @@ queryLocalInterface(descriptor: string): IRemoteBroker
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -8106,7 +8093,6 @@ queryLocalInterface(descriptor: string): IRemoteBroker
let broker = testRemoteObject.queryLocalInterface("testObject");
```
### getDescriptor<sup>9+</sup>
getDescriptor(): string
......@@ -8131,7 +8117,7 @@ getDescriptor(): string
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -8157,7 +8143,6 @@ getDescriptor(): string
console.log("RpcServer: descriptor is: " + descriptor);
```
### getInterfaceDescriptor<sup>(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[getDescriptor](#getdescriptor9)类替代。
......@@ -8176,7 +8161,7 @@ getInterfaceDescriptor(): string
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -8201,7 +8186,6 @@ getInterfaceDescriptor(): string
console.log("RpcServer: descriptor is: " + descriptor);
```
### modifyLocalInterface<sup>9+</sup>
modifyLocalInterface(localInterface: IRemoteBroker, descriptor: string): void
......@@ -8217,10 +8201,9 @@ modifyLocalInterface(localInterface: IRemoteBroker, descriptor: string): void
| localInterface | IRemoteBroker | 是 | 将与描述符绑定的IRemoteBroker对象。 |
| descriptor | string | 是 | 用于与IRemoteBroker对象绑定的描述符。 |
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -8267,7 +8250,7 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void
**示例:**
```
```ts
class MyDeathRecipient {
onRemoteDied() {
console.log("server died");
......@@ -8294,28 +8277,26 @@ attachLocalInterface(localInterface: IRemoteBroker, descriptor: string): void
let testRemoteObject = new TestRemoteObject("testObject");
```
## Ashmem<sup>8+</sup>
提供与匿名共享内存对象相关的方法,包括创建、关闭、映射和取消映射Ashmem、从Ashmem读取数据和写入数据、获取Ashmem大小、设置Ashmem保护。
映射内存保护类型:
**系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.IPC.Core。
| 名称 | 值 | 说明 |
映射内存保护类型:
| 名称 | 默认值 | 说明 |
| ---------- | --- | ------------------ |
| PROT_EXEC | 4 | 映射的内存可执行 |
| PROT_NONE | 0 | 映射的内存不可访问 |
| PROT_READ | 1 | 映射的内存可读 |
| PROT_WRITE | 2 | 映射的内存可写 |
### create<sup>9+</sup>
static create(name: string, size: number): Ashmem
根据指定的名称和大小创建Ashmem对象。
静态方法,根据指定的名称和大小创建Ashmem对象。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -8332,10 +8313,9 @@ static create(name: string, size: number): Ashmem
| ------ | ---------------------------------------------- |
| Ashmem | 返回创建的Ashmem对象;如果创建失败,返回null。 |
**示例:**
```
```ts
let ashmem;
try {
ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
......@@ -8347,14 +8327,13 @@ static create(name: string, size: number): Ashmem
console.log("RpcTest: get ashemm by create : " + ashmem + " size is : " + size);
```
### createAshmem<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[create](#create9)类替代。
static createAshmem(name: string, size: number): Ashmem
根据指定的名称和大小创建Ashmem对象。
静态方法,根据指定的名称和大小创建Ashmem对象。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -8373,18 +8352,17 @@ static createAshmem(name: string, size: number): Ashmem
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let size = ashmem.getAshmemSize();
console.log("RpcTest: get ashemm by createAshmem : " + ashmem + " size is : " + size);
```
### create<sup>9+</sup>
static create(ashmem: Ashmem): Ashmem
通过复制现有Ashmem对象的文件描述符(fd)来创建Ashmem对象。两个Ashmem对象指向同一个共享内存区域。
静态方法,通过复制现有Ashmem对象的文件描述符(fd)来创建Ashmem对象。两个Ashmem对象指向同一个共享内存区域。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -8403,7 +8381,7 @@ static create(ashmem: Ashmem): Ashmem
**示例:**
```
```ts
let ashmem2;
try {
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
......@@ -8416,14 +8394,13 @@ static create(ashmem: Ashmem): Ashmem
console.log("RpcTest: get ashemm by create : " + ashmem2 + " size is : " + size);
```
### createAshmemFromExisting<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[create](#create9)类替代。
static createAshmemFromExisting(ashmem: Ashmem): Ashmem
通过复制现有Ashmem对象的文件描述符(fd)来创建Ashmem对象。两个Ashmem对象指向同一个共享内存区域。
静态方法,通过复制现有Ashmem对象的文件描述符(fd)来创建Ashmem对象。两个Ashmem对象指向同一个共享内存区域。
**系统能力**:SystemCapability.Communication.IPC.Core
......@@ -8441,14 +8418,13 @@ static createAshmemFromExisting(ashmem: Ashmem): Ashmem
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let ashmem2 = rpc.Ashmem.createAshmemFromExisting(ashmem);
let size = ashmem2.getAshmemSize();
console.log("RpcTest: get ashemm by createAshmemFromExisting : " + ashmem2 + " size is : " + size);
```
### closeAshmem<sup>8+</sup>
closeAshmem(): void
......@@ -8459,12 +8435,11 @@ closeAshmem(): void
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
ashmem.closeAshmem();
```
### unmapAshmem<sup>8+</sup>
unmapAshmem(): void
......@@ -8475,12 +8450,11 @@ unmapAshmem(): void
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
ashmem.unmapAshmem();
```
### getAshmemSize<sup>8+</sup>
getAshmemSize(): number
......@@ -8497,13 +8471,12 @@ getAshmemSize(): number
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let size = ashmem.getAshmemSize();
console.log("RpcTest: get ashmem is " + ashmem + " size is : " + size);
```
### mapTypedAshmem<sup>9+</sup>
mapTypedAshmem(mapType: number): void
......@@ -8528,7 +8501,7 @@ mapTypedAshmem(mapType: number): void
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
try {
ashmem.mapTypedAshmem(ashmem.PROT_READ | ashmem.PROT_WRITE);
......@@ -8538,7 +8511,6 @@ mapTypedAshmem(mapType: number): void
}
```
### mapAshmem<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[mapTypedAshmem](#maptypedashmem9)类替代。
......@@ -8559,17 +8531,16 @@ mapAshmem(mapType: number): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果映射成功,则返回true;否则返回false。 |
| boolean | true:映射成功,false:映射失败。|
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapReadAndWrite = ashmem.mapAshmem(ashmem.PROT_READ | ashmem.PROT_WRITE);
console.log("RpcTest: map ashmem result is : " + mapReadAndWrite);
```
### mapReadWriteAshmem<sup>9+</sup>
mapReadWriteAshmem(): void
......@@ -8588,7 +8559,7 @@ mapReadWriteAshmem(): void
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
try {
ashmem.mapReadWriteAshmem();
......@@ -8598,7 +8569,6 @@ mapReadWriteAshmem(): void
}
```
### mapReadAndWriteAshmem<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[mapReadWriteAshmem](#mapreadwriteashmem9)类替代。
......@@ -8613,17 +8583,16 @@ mapReadAndWriteAshmem(): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果映射成功,则返回true;否则返回false。 |
| boolean | true:映射成功,false:映射失败。|
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapResult = ashmem.mapReadAndWriteAshmem();
console.log("RpcTest: map ashmem result is : " + mapResult);
```
### mapReadonlyAshmem<sup>9+</sup>
mapReadonlyAshmem(): void
......@@ -8642,7 +8611,7 @@ mapReadonlyAshmem(): void
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
try {
ashmem.mapReadonlyAshmem();
......@@ -8652,7 +8621,6 @@ mapReadonlyAshmem(): void
}
```
### mapReadOnlyAshmem<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[mapReadonlyAshmem](#mapreadonlyashmem9)类替代。
......@@ -8667,17 +8635,16 @@ mapReadOnlyAshmem(): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果映射成功,则返回true;否则返回false。 |
| boolean | true:映射成功,false:映射失败。|
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapResult = ashmem.mapReadOnlyAshmem();
console.log("RpcTest: Ashmem mapReadOnlyAshmem result is : " + mapResult);
```
### setProtectionType<sup>9+</sup>
setProtectionType(protectionType: number): void
......@@ -8702,7 +8669,7 @@ setProtectionType(protectionType: number): void
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
try {
ashmem.setProtection(ashmem.PROT_READ);
......@@ -8712,7 +8679,6 @@ setProtectionType(protectionType: number): void
}
```
### setProtection<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[setProtectionType](#setprotectiontype9)类替代。
......@@ -8733,17 +8699,16 @@ setProtection(protectionType: number): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------- |
| boolean | 如果设置成功,则返回true;否则返回false。 |
| boolean | true:设置成功,false:设置失败。|
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let result = ashmem.setProtection(ashmem.PROT_READ);
console.log("RpcTest: Ashmem setProtection result is : " + result);
```
### writeAshmem<sup>9+</sup>
writeAshmem(buf: number[], size: number, offset: number): void
......@@ -8770,7 +8735,7 @@ writeAshmem(buf: number[], size: number, offset: number): void
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
ashmem.mapReadWriteAshmem();
var ByteArrayVar = [1, 2, 3, 4, 5];
......@@ -8782,7 +8747,6 @@ writeAshmem(buf: number[], size: number, offset: number): void
}
```
### writeToAshmem<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[writeAshmem](#writeashmem9)类替代。
......@@ -8805,11 +8769,11 @@ writeToAshmem(buf: number[], size: number, offset: number): boolean
| 类型 | 说明 |
| ------- | ----------------------------------------------------------------------------------------- |
| boolean | 如果数据写入成功,则返回true;在其他情况下,如数据写入越界或未获得写入权限,则返回false。 |
| boolean | true:如果数据写入成功,false:在其他情况下,如数据写入越界或未获得写入权限。。 |
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapResult = ashmem.mapReadAndWriteAshmem();
console.info("RpcTest map ashmem result is " + mapResult);
......@@ -8818,7 +8782,6 @@ writeToAshmem(buf: number[], size: number, offset: number): boolean
console.log("RpcTest: write to Ashmem result is : " + writeResult);
```
### readAshmem<sup>9+</sup>
readAshmem(size: number, offset: number): number[]
......@@ -8850,7 +8813,7 @@ readAshmem(size: number, offset: number): number[]
**示例:**
```
```ts
let ashmem = rpc.Ashmem.create("ashmem", 1024*1024);
ashmem.mapReadWriteAshmem();
var ByteArrayVar = [1, 2, 3, 4, 5];
......@@ -8864,7 +8827,6 @@ readAshmem(size: number, offset: number): number[]
}
```
### readFromAshmem<sup>8+(deprecated)</sup>
>从API version 9 开始不再维护,建议使用[readAshmem](#readashmem9)类替代。
......@@ -8890,7 +8852,7 @@ readFromAshmem(size: number, offset: number): number[]
**示例:**
```
```ts
let ashmem = rpc.Ashmem.createAshmem("ashmem", 1024*1024);
let mapResult = ashmem.mapReadAndWriteAshmem();
console.info("RpcTest map ashmem result is " + mapResult);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册