提交 449958d5 编写于 作者: L l30043718

Description:ArkTS rectification

Feature or Bugfix:ArkTS rectification
Binary Source: No
Signed-off-by: NLixiaoying25 <lixiaoying25@huawei.com>
上级 a347780f
......@@ -166,10 +166,10 @@ IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,
sptr<ISystemAbilityManager> samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
sptr<IRemoteObject> remoteObject = samgr->GetSystemAbility(saId);
sptr<ITestAbility> testAbility = iface_cast<ITestAbility>(remoteObject); // 使用iface_cast宏转换成具体类型
// 获取其他设备注册的SA的proxy
sptr<ISystemAbilityManager> samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
// networkId是组网场景下对应设备的标识符,可以通过GetLocalNodeDeviceInfo获取
sptr<IRemoteObject> remoteObject = samgr->GetSystemAbility(saId, networkId);
sptr<TestAbilityProxy> proxy(new TestAbilityProxy(remoteObject)); // 直接构造具体Proxy
......@@ -231,8 +231,10 @@ IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import deviceManager from '@ohos.distributedHardware.deviceManager';
import { BusinessError } from '@ohos.base';
let proxy: rpc.RemoteProxy;
let dmInstance: deviceManager.DeviceManager | undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connectId: number;
// 单个设备绑定Ability
......@@ -242,7 +244,7 @@ IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,
abilityName: "ohos.rpc.test.server.ServiceAbility",
};
let connect: common.ConnectOptions = {
onConnect: (elementName, remote: rpc.RemoteProxy) => {
onConnect: (elementName, remote) => {
proxy = remote;
},
onDisconnect: (elementName) => {
......@@ -259,29 +261,36 @@ IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,
// 跨设备绑定
let deviceManagerCallback = (err: BusinessError, data: deviceManager.DeviceManager) => {
if (err) {
console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
return;
console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
return;
}
console.info("createDeviceManager success");
let dmInstance = data;
dmInstance = data;
}
try{
deviceManager.createDeviceManager("ohos.rpc.test", deviceManagerCallback);
} catch(error) {
let e: BusinessError = error as BusinessError;
console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
// 使用deviceManager获取目标设备NetworkId
if (dmInstance != undefined) {
let deviceList: Array<deviceManager.DeviceInfo> = dmInstance.getTrustedDeviceListSync();
let networkId: string = deviceList[0].networkId;
let want: Want = {
bundleName: "ohos.rpc.test.server",
abilityName: "ohos.rpc.test.service.ServiceAbility",
deviceId: networkId,
flags: 256
};
// 建立连接后返回的Id需要保存下来,在断开连接时需要作为参数传入
// FA模型使用此方法连接服务
// connectId = featureAbility.connectAbility(want, connect);
// 第一个参数是本应用的包名,第二个参数是接收deviceManager的回调函数
connectId = this.context.connectServiceExtensionAbility(want,connect);
}
deviceManager.createDeviceManager("ohos.rpc.test", deviceManagerCallback);
// 使用deviceManager获取目标设备NetworkId
let deviceList: Array<deviceManager.DeviceInfo> = dmInstance.getTrustedDeviceListSync();
let networkId: string = deviceList[0].networkId;
let want: Want = {
bundleName: "ohos.rpc.test.server",
abilityName: "ohos.rpc.test.service.ServiceAbility",
deviceId: networkId,
flags: 256
};
// 建立连接后返回的Id需要保存下来,在断开连接时需要作为参数传入
// FA模型使用此方法连接服务
// connectId = featureAbility.connectAbility(want, connect);
// 第一个参数是本应用的包名,第二个参数是接收deviceManager的回调函数
connectId = this.context.connectServiceExtensionAbility(want,connect);
```
3. 服务端处理客户端请求
......@@ -289,11 +298,7 @@ IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,
服务端被绑定的Ability在onConnect方法里返回继承自rpc.RemoteObject的对象,该对象需要实现onRemoteMessageRequest方法,处理客户端的请求。
```ts
onConnect(want: Want) {
const robj: rpc.RemoteObject = new Stub("rpcTestAbility");
return robj;
}
class Stub extends rpc.RemoteObject {
class Stub extends rpc.RemoteObject {
constructor(descriptor: string) {
super(descriptor);
}
......@@ -301,7 +306,11 @@ IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,
// 根据code处理客户端的请求
return true;
}
}
}
onConnect(want: Want) {
const robj: rpc.RemoteObject = new Stub("rpcTestAbility");
return robj;
}
```
4. 客户端处理服务端响应
......@@ -359,6 +368,7 @@ IPC/RPC的主要工作是让运行在不同进程的Proxy和Stub互相通信,
import rpc from "@ohos.rpc";
// 仅FA模型需要导入@ohos.ability.featureAbility
// import featureAbility from "@ohos.ability.featureAbility";
function disconnectCallback() {
console.info("disconnect ability done");
}
......
......@@ -98,7 +98,6 @@ import Want from '@ohos.app.ability.Want';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import window from '@ohos.window';
export default class MainAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
console.log("[Demo] MainAbility onCreate");
......@@ -134,9 +133,9 @@ export default class MainAbility extends UIAbility {
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.RemoteProxy;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy: rpc.RemoteProxy) => {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
proxy = remoteProxy;
},
......
......@@ -1289,8 +1289,8 @@ writeParcelable(val: Parcelable): void
import { BusinessError } from '@ohos.base';
class MyParcelable implements rpc.Parcelable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor( num: number, str: string) {
this.num = num;
this.str = str;
......@@ -1346,8 +1346,8 @@ readParcelable(dataIn: Parcelable): void
import { BusinessError } from '@ohos.base';
class MyParcelable implements rpc.Parcelable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -2595,7 +2595,7 @@ readException(): void
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -2680,8 +2680,8 @@ writeParcelableArray(parcelableArray: Parcelable[]): void
import { BusinessError } from '@ohos.base';
class MyParcelable implements rpc.Parcelable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -2740,8 +2740,8 @@ readParcelableArray(parcelableArray: Parcelable[]): void
import { BusinessError } from '@ohos.base';
class MyParcelable implements rpc.Parcelable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -4285,8 +4285,8 @@ writeSequenceable(val: Sequenceable): boolean
```ts
class MySequenceable implements rpc.Sequenceable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -4332,8 +4332,8 @@ readSequenceable(dataIn: Sequenceable): boolean
```ts
class MySequenceable implements rpc.Sequenceable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -5105,7 +5105,7 @@ readException(): void
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -5180,8 +5180,8 @@ writeSequenceableArray(sequenceableArray: Sequenceable[]): boolean
```ts
class MySequenceable implements rpc.Sequenceable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -5224,8 +5224,8 @@ readSequenceableArray(sequenceableArray: Sequenceable[]): void
```ts
class MySequenceable implements rpc.Sequenceable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -5706,8 +5706,8 @@ marshalling(dataOut: MessageSequence): boolean
```ts
class MyParcelable implements rpc.Parcelable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -5756,8 +5756,8 @@ unmarshalling(dataIn: MessageSequence): boolean
```ts
class MyParcelable implements rpc.Parcelable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -5812,8 +5812,8 @@ marshalling(dataOut: MessageParcel): boolean
```ts
class MySequenceable implements rpc.Sequenceable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -5862,8 +5862,8 @@ unmarshalling(dataIn: MessageParcel): boolean
```ts
class MySequenceable implements rpc.Sequenceable {
num: number;
str: string;
num: number = 0;
str: string = '';
constructor(num: number, str: string) {
this.num = num;
this.str = str;
......@@ -5928,7 +5928,7 @@ asObject(): IRemoteObject
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6368,7 +6368,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6446,7 +6446,7 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6532,7 +6532,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6612,7 +6612,7 @@ sendMessageRequest(code: number, data: MessageSequence, reply: MessageSequence,
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6696,7 +6696,7 @@ sendRequest(code: number, data: MessageParcel, reply: MessageParcel, options: Me
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6783,7 +6783,7 @@ getLocalInterface(interface: string): IRemoteBroker
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6852,7 +6852,7 @@ queryLocalInterface(interface: string): IRemoteBroker
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6917,7 +6917,7 @@ registerDeathRecipient(recipient: DeathRecipient, flags: number): void
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -6992,7 +6992,7 @@ addDeathRecipient(recipient: DeathRecipient, flags: number): boolean
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -7062,7 +7062,7 @@ unregisterDeathRecipient(recipient: DeathRecipient, flags: number): void
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -7138,7 +7138,7 @@ removeDeathRecipient(recipient: DeathRecipient, flags: number): boolean
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -7209,7 +7209,7 @@ getDescriptor(): string
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -7271,7 +7271,7 @@ getInterfaceDescriptor(): string
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......@@ -7326,7 +7326,7 @@ isObjectDead(): boolean
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
let proxy: rpc.IRemoteobject | undefined = undefined;
let proxy: rpc.IRemoteObject | undefined = undefined;
let connect: common.ConnectOptions = {
onConnect: (elementName, remoteProxy) => {
console.log("RpcClient: js onConnect called.");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册