diff --git a/api/@ohos.rpc.d.ts b/api/@ohos.rpc.d.ts index bb0340e7bb3b9e2b65f45095c007e7d5fa0b66d4..12d1165fd84efed9ac00deeed1ca96aaeeea6984 100644 --- a/api/@ohos.rpc.d.ts +++ b/api/@ohos.rpc.d.ts @@ -13,109 +13,742 @@ * limitations under the License. */ +/** + * A data object used for remote procedure call (RPC). + *
+ * During RPC, the sender can use the write methods provided by {@link MessageParcel} to + * write the to-be-sent data into a {@link MessageParcel} object in a specific format, and the receiver can use the + * read methods provided by {@link MessageParcel} to read data of the specific format from the {@link MessageParcel} object. + *
+ *
+ * The default capacity of a {@link MessageParcel} instance is 200KB. If you want more or less, use {@link #setCapacity(int)} + * to change it. + *
+ * Note: Only data of the following data types can be written into or read from a {@link MessageParcel}: byte, + * byteArray, short, shortArray, int, intArray, long, longArray, float, floatArray, double, doubleArray, boolean, + * booleanArray, char, charArray, String, StringArray, {@link PlainBooleanArray}, {@link Serializable}, + * {@link Sequenceable}, and SequenceableArray. + * + * @since 7 + * @sysCap SystemCapability.RPC + * @devices phone, tablet, tv, wearable, car + * @import import rpc from '@ohos.rpc'; + */ + declare namespace rpc { class MessageParcel { + /** + * Creates an empty {@link MessageParcel} object with index 0. + * @sysCap SystemCapability.RPC_MessageParcel + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ static create(): MessageParcel; + + /** + * Clears data in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ reclaim(): void; + + /** + * Serializes a remote object and writes it to the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeRemoteObject(object: IRemoteObject): boolean; + + /** + * Reads a remote object from {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readRemoteObject(): IRemoteObject; + + /** + * Writes an interface token into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns {@code true} if the interface token has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeInterfaceToken(token: string): boolean; + + /** + * Reads an interface token from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a string value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readInterfaceToken(): string; + + /** + * Obtains the size of data (in bytes) contained in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns the size of data contained in the {@link MessageParcel} object. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ getSize(): number; + + /** + * Obtains the storage capacity (in bytes) of the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns the storage capacity of the {@link MessageParcel} object. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ getCapacity(): number; + + /** + * Sets the size of data (in bytes) contained in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + *{@code false} is returned if the data size set in this method is greater + * than the storage capacity of the {@link MessageParcel}. + * + * @param size Indicates the data size of the {@link MessageParcel} object. + * @return Returns {@code true} if the setting is successful; returns {@code false} otherwise. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ setSize(size: number): boolean; + + /** + * Sets the storage capacity (in bytes) of the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + *
{@code false} is returned if the capacity set in this method is less than + * the size of data contained in the {@link MessageParcel}. + * + * @param size Indicates the storage capacity of the {@link MessageParcel} object. + * @return Returns {@code true} if the setting is successful; returns {@code false} otherwise. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ setCapacity(size: number): boolean; + + /** + * Obtains the writable data space (in bytes) in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + *
Writable data space = Storage capacity of the {@link MessageParcel} - Size of data contained in the {@link MessageParcel}. + * + * @return Returns the writable data space of the {@link MessageParcel} object. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ getWritableBytes(): number; + + /** + * Obtains the readable data space (in bytes) in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + *
Readable data space = Size of data contained in the {@link MessageParcel} - Size of data that has been read. + * + * @return Returns the readable data space of the {@link MessageParcel} object. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ getReadableBytes(): number; + + /** + * Obtains the current read position in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns the current read position in the {@link MessageParcel} object. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ getReadPosition(): number; + + /** + * Obtains the current write position in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns the current write position in the {@link MessageParcel} object. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ getWritePosition(): number; + + /** + * Changes the current read position in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + *
Generally, you are advised not to change the current read position. If you must + * change it, change it to an accurate position. Otherwise, the read data may be incorrect. + * + * @param pos Indicates the target position to start data reading. + * @return Returns {@code true} if the read position is changed; returns {@code false} otherwise. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ rewindRead(pos: number): boolean; + + /** + * Changes the current write position in the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + *
Generally, you are advised not to change the current write position. If you must + * change it, change it to an accurate position. Otherwise, the data to be read may be incorrect. + * + * @param pos Indicates the target position to start data writing. + * @return Returns {@code true} if the write position is changed; returns {@code false} otherwise. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ rewindWrite(pos: number): boolean; + + /** + * Writes a byte value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the byte value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeByte(val: number): boolean; + + /** + * Writes a short integer value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the short integer value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeShort(val: number): boolean; + + /** + * Writes an integer value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the integer value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeInt(val: number): boolean; + + /** + * Writes a long integer value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the long integer value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeLong(val: number): boolean; + + /** + * Writes a floating point value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the floating point value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeFloat(val: number): boolean; + + /** + * Writes a double-precision floating point value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the double-precision floating point value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeDouble(val: number): boolean; + + /** + * Writes a boolean value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the boolean value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeBoolean(val: boolean): boolean; + + /** + * Writes a single character value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the single character value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeChar(val: number): boolean; + + /** + * Writes a string value into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the string value to write. + * @return Returns {@code true} if the value has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeString(val: string): boolean; + + /** + * Writes a {@link Sequenceable} object into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param val Indicates the {@link Sequenceable} object to write. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeSequenceable(val: Sequenceable): boolean; + + /** + * Writes a byte array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param byteArray Indicates the byte array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeByteArray(byteArray: number[]): boolean; + + /** + * Writes a short integer array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param shortArray Indicates the short integer array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeShortArray(shortArray: number[]): boolean; + + /** + * Writes an integer array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param intArray Indicates the integer array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeIntArray(intArray: number[]): boolean; + + /** + * Writes a long integer array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param longArray Indicates the long integer array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeLongArray(longArray: number[]): boolean; + + /** + * Writes a floating point array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param floatArray Indicates the floating point array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeFloatArray(floatArray: number[]): boolean; + + /** + * Writes a double-precision floating point array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param doubleArray Indicates the double-precision floating point array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeDoubleArray(doubleArray: number[]): boolean; + + /** + * Writes a boolean array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param booleanArray Indicates the boolean array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeBooleanArray(booleanArray: boolean[]): boolean; + + /** + * Writes a single character array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param charArray Indicates the single character array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeCharArray(charArray: number[]): boolean; + + /** + * Writes a string array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param stringArray Indicates the string array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeStringArray(stringArray: string[]): boolean; + + /** + * Writes a {@link Sequenceable} object array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param sequenceableArray Indicates the {@link Sequenceable} object array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this parcel is insufficient, + * exception message: {@link ParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ writeSequenceableArray(sequenceableArray: Sequenceable[]): boolean; + + /** + * Reads a byte value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a byte value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readByte(): number; + + /** + * Reads a short integer value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a short integer value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readShort(): number; + + /** + * Reads an integer value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns an integer value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readInt(): number; + + /** + * Reads a long integer value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a long integer value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readLong(): number; + + /** + * Reads a floating point value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a floating point value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readFloat(): number; + + /** + * Reads a double-precision floating point value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a double-precision floating point value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readDouble(): number; + + /** + * Reads a boolean value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a boolean value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readBoolean(): boolean; + + /** + * Reads a single character value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a single character value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readChar(): number; + + /** + * Reads a string value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a string value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readString(): string; + + /** + * Reads a short string value from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a short string value. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readSequenceable(dataIn: Sequenceable) : boolean; + + /** + * Writes a byte array into the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the byte array to write. + * @return Returns {@code true} if the array has been written into the {@link MessageParcel}; + * returns {@code false} otherwise. + * @throws ParcelException When capacity in this MessageParcel is insufficient, + * exception message: {@link MessageParcelException#NO_CAPACITY_ERROR}. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readByteArray(dataIn: number[]) : void; + + /** + * Reads a byte array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a byte array. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readByteArray(): number[]; + + /** + * Reads all bytes from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + *
This method is different from the {@code readByteArray} method. In this method, + * the {@code MessageParcel} cannot call other methods to read data, and this method can only + * read data written by using {@link #writeBytes}. + * @return Returns the bytes. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readShortArray(dataIn: number[]) : void; + + /** + * Reads a short integer array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a short integer array. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readShortArray(): number[]; + + /** + * Reads an integer array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the integer array to read. + * @throws ParcelException Throws this exception if reading the integer array fails. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readIntArray(dataIn: number[]) : void; + + /** + * Reads an integer array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns an integer array. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readIntArray(): number[]; + + /** + * Reads a long integer array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the long integer array to read. + * @throws ParcelException Throws this exception if reading the long array fails. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readLongArray(dataIn: number[]) : void; + + /** + * Reads a long integer array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a long integer array. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readLongArray(): number[]; + + /** + * Reads a floating point array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the floating point array to read. + * @throws ParcelException Throws this exception if reading the float array fails. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readFloatArray(dataIn: number[]) : void; + + /** + * Reads a floating point array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a floating point array. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readFloatArray(): number[]; + + /** + * Reads a double-precision floating point array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the double-precision floating point array to read. + * @throws ParcelException Throws this exception if reading the double array fails. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readDoubleArray(dataIn: number[]) : void; + + /** + * Reads a double-precision floating point array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a double-precision floating point array. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ readDoubleArray(): number[]; - readBooleanArray(dataIn: boolean[]) : void; - readBooleanArray(): boolean[]; - readCharArray(dataIn: boolean[]) : void; - readCharArray(): boolean[]; - readStringArray(dataIn: string[]) : void; - readStringArray(): string[]; - } - interface Sequenceable { - hasFileDescriptor(): boolean; - marshalling(dataOut: MessageParcel): boolean; - unmarshalling(dataIn: MessageParcel) : boolean; - } + /** + * Reads a boolean array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the boolean array to read. + * @throws ParcelException Throws this exception if reading the boolean array fails. + * @devices phone, tablet, tv, wearable, car + * @since 7 + */ + readBooleanArray(dataIn: boolean[]) : void; - enum IRemoteObject { /** - * Indicates the message code for a Ping operation. + * Reads a boolean array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a boolean array. + * @devices phone, tablet, tv, wearable, car + * @since 7 */ - PING_TRANSACTION = ('_' << 24) | ('P' << 16) | ('N' << 8) | 'G', + readBooleanArray(): boolean[]; /** - * Indicates the message code for a dump operation. + * Reads a single character array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the single character array to read. + * @throws ParcelException Throws this exception if reading the char array fails. + * @devices phone, tablet, tv, wearable, car + * @since 7 */ - DUMP_TRANSACTION = ('_' << 24) | ('D' << 16) | ('M' << 8) | 'P', + readCharArray(dataIn: boolean[]) : void; /** - * Indicates the message code for a transmission. + * Reads a single character array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @return Returns a single character array. + * @devices phone, tablet, tv, wearable, car + * @since 7 */ - INTERFACE_TRANSACTION = ('_' << 24) | ('N' << 16) | ('T' << 8) | 'F', + readCharArray(): boolean[]; /** - * Indicates the minimum value of a valid message code. - * - *
This constant is used to check the validity of an operation. + * Reads a string array from the {@link MessageParcel} object. + * @sysCap SystemCapability.RPC_MessageParcel + * @param dataIn Indicates the string array to read. + * @throws ParcelException Throws this exception if reading the string array fails. + * @devices phone, tablet, tv, wearable, car + * @since 7 */ - MIN_TRANSACTION_ID = 0x1, + readStringArray(dataIn: string[]) : void; /** - * Indicates the maximum value of a valid message code. - * - *
This constant is used to check the validity of an operation.
+ * Reads a string array from the {@link MessageParcel} object.
+ * @sysCap SystemCapability.RPC_MessageParcel
+ * @return Returns a string array.
+ * @devices phone, tablet, tv, wearable, car
+ * @since 7
*/
- MAX_TRANSACTION_ID = 0x00FFFFFF,
+ readStringArray(): string[];
+ }
+
+ interface Sequenceable {
+ /**
+ * Marshals this {@code Sequenceable} object into a {@link MessageParcel}.
+ *
+ * @sysCap SystemCapability.RPC_Sequenceable
+ * @param dataOut Indicates the {@link MessageParcel} object to which the {@code Sequenceable}
+ * object will be marshaled..
+ * @return Returns {@code true} if the marshalling is successful; returns {@code false} otherwise.
+ * @throws ParcelException Throws this exception if the operation fails.
+ * @devices phone, tablet, tv, wearable, car
+ * @since 7
+ */
+ marshalling(dataOut: MessageParcel): boolean;
+
+ /**
+ * Unmarshals this {@code Sequenceable} object from a {@link MessageParcel}.
+ *
+ * @sysCap SystemCapability.RPC_Sequenceable
+ * @param dataIn Indicates the {@link MessageParcel} object into which the {@code Sequenceable}
+ * object has been marshaled..
+ * @return Returns {@code true} if the unmarshalling is successful; returns {@code false} otherwise.
+ * @throws ParcelException Throws this exception if the operation fails.
+ * @devices phone, tablet, tv, wearable, car
+ * @since 7
+ */
+ unmarshalling(dataIn: MessageParcel) : boolean;
}
interface IRemoteObject {
@@ -145,11 +778,11 @@ declare namespace rpc {
* @param data Indicates the {@link MessageParcel} object sent to the peer process.
* @param reply Indicates the {@link MessageParcel} object returned by the peer process.
* @param options Indicates the synchronous or asynchronous mode to send messages.
- * @return Returns {@code true} if the method is called successfully; returns {@code false} otherwise.
+ * @return Returns a promise.
* @throws RemoteException Throws this exception if the method fails to be called.
* @since 7
*/
- sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: MessageOption): boolean;
+ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: MessageOption): Promise This constant is used to check the validity of an operation.
+ */
+ MIN_TRANSACTION_ID = 0x1,
+
+ /**
+ * Indicates the maximum value of a valid message code.
+ *
+ * This constant is used to check the validity of an operation.
+ */
+ MAX_TRANSACTION_ID = 0x00FFFFFF,
+
/**
* Queries a local interface with a specified descriptor.
*
@@ -343,11 +1072,11 @@ declare namespace rpc {
* @param data Indicates the {@link MessageParcel} object storing the data to be sent.
* @param reply Indicates the {@link MessageParcel} object receiving the response data.
* @param options Indicates a synchronous (default) or asynchronous request.
- * @return Returns {@code true} if the operation succeeds; returns {@code false} otherwise.
+ * @return Returns a promise.
* @throws RemoteException Throws this exception if a remote object exception occurs.
* @since 7
*/
- sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: MessageOption): boolean;
+ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: MessageOption): Promise