提交 2b559f29 编写于 作者: W wangyang2022

添加 ContinueMission 接口,distributedMissionManager 错误码整改

Signed-off-by: Nwangyang2022 <wangyang412@huawei.com>
Change-Id: Ib783198959ae5a45e3a7ae2d27f9f17eb5b260db
上级 21e0eb3e
# 分布式任务管理 # 分布式任务管理
分布式任务管理模块提供跨设备系统任务管理能力,包括注册系统任务状态监听、取消系统任务状态监听、开始同步远端任务列表、停止同步远端任务列表操作。 分布式任务管理模块提供跨设备系统任务管理能力,包括注册系统任务状态监听、取消系统任务状态监听、开始同步远端任务列表、停止同步远端任务列表、迁移任务操作。
> **说明:** > **说明:**
> >
...@@ -55,9 +55,16 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback, ...@@ -55,9 +55,16 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback,
notifySnapshot: NotifySnapshot, notifySnapshot: NotifySnapshot,
notifyNetDisconnect: NotifyNetDisconnect notifyNetDisconnect: NotifyNetDisconnect
} }
try {
distributedMissionManager.registerMissionListener(parameter, options, (error) => { distributedMissionManager.registerMissionListener(parameter, options, (error) => {
console.log("error.code = " + error.code) if (error.code != 0) {
console.error('registerMissionListener failed, cause: ' + JSON.stringify(error))
}
console.info('registerMissionListener finished')
}) })
} catch (error) {
console.error('registerMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.registerMissionListener ## distributedMissionManager.registerMissionListener
...@@ -104,12 +111,16 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback): ...@@ -104,12 +111,16 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback):
notifySnapshot: NotifySnapshot, notifySnapshot: NotifySnapshot,
notifyNetDisconnect: NotifyNetDisconnect notifyNetDisconnect: NotifyNetDisconnect
} }
try {
distributedMissionManager.registerMissionListener(parameter, options) distributedMissionManager.registerMissionListener(parameter, options)
.then(data => { .then(data => {
console.info('success data is ' + data); console.info('registerMissionListener finished, ' + JSON.stringify(data));
}).catch(error => { }).catch(error => {
console.info('error error is ' + error); console.error('registerMissionListener failed, cause: ' + JSON.stringify(error));
}) })
} catch (error) {
console.error('registerMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
...@@ -136,9 +147,16 @@ unRegisterMissionListener(parameter: MissionDeviceInfo, callback: AsyncCallback& ...@@ -136,9 +147,16 @@ unRegisterMissionListener(parameter: MissionDeviceInfo, callback: AsyncCallback&
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
try {
distributedMissionManager.unRegisterMissionListener(parameter, (error) => { distributedMissionManager.unRegisterMissionListener(parameter, (error) => {
console.log("error.code = " + error.code) if (error.code != 0) {
console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error))
}
console.info('unRegisterMissionListener finished')
}) })
} catch (error) {
console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
...@@ -170,12 +188,16 @@ unRegisterMissionListener(parameter: MissionDeviceInfo): Promise&lt;void&gt; ...@@ -170,12 +188,16 @@ unRegisterMissionListener(parameter: MissionDeviceInfo): Promise&lt;void&gt;
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
try {
distributedMissionManager.unRegisterMissionListener(parameter) distributedMissionManager.unRegisterMissionListener(parameter)
.then(data => { .then(data => {
console.info('success data is ' + data); console.info('unRegisterMissionListener finished, ' + JSON.stringify(data));
}).catch(error => { }).catch(error => {
console.info('error error is ' + error); console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error));
}) })
} catch (error) {
console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.startSyncRemoteMissions ## distributedMissionManager.startSyncRemoteMissions
...@@ -203,9 +225,16 @@ startSyncRemoteMissions(parameter: MissionParameter, callback: AsyncCallback&lt; ...@@ -203,9 +225,16 @@ startSyncRemoteMissions(parameter: MissionParameter, callback: AsyncCallback&lt;
fixConflict: false, fixConflict: false,
tag: 0 tag: 0
}; };
try {
distributedMissionManager.startSyncRemoteMissions(parameter, (error) => { distributedMissionManager.startSyncRemoteMissions(parameter, (error) => {
console.log("error.code = " + error.code) if (error.code != 0) {
console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
console.info('startSyncRemoteMissions finished')
}) })
} catch (error) {
console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.startSyncRemoteMissions ## distributedMissionManager.startSyncRemoteMissions
...@@ -238,12 +267,16 @@ startSyncRemoteMissions(parameter: MissionParameter): Promise&lt;void&gt; ...@@ -238,12 +267,16 @@ startSyncRemoteMissions(parameter: MissionParameter): Promise&lt;void&gt;
fixConflict: false, fixConflict: false,
tag: 0 tag: 0
}; };
try {
distributedMissionManager.startSyncRemoteMissions(parameter) distributedMissionManager.startSyncRemoteMissions(parameter)
.then(data => { .then(data => {
console.info('success data is ' + data); console.info('startSyncRemoteMissions finished, ' + JSON.stringify(data));
}).catch(error => { }).catch(error => {
console.info('error error is ' + error); console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error));
}) })
} catch (error) {
console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.stopSyncRemoteMissions ## distributedMissionManager.stopSyncRemoteMissions
...@@ -269,9 +302,16 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo, callback: AsyncCallback&lt; ...@@ -269,9 +302,16 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo, callback: AsyncCallback&lt;
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
try {
distributedMissionManager.stopSyncRemoteMissions(parameter, (error) => { distributedMissionManager.stopSyncRemoteMissions(parameter, (error) => {
console.log("error.code = " + error.code) if (error.code != 0) {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
console.info('stopSyncRemoteMissions finished')
}) })
} catch (error) {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.stopSyncRemoteMissions ## distributedMissionManager.stopSyncRemoteMissions
...@@ -302,12 +342,111 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise&lt;void&gt; ...@@ -302,12 +342,111 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise&lt;void&gt;
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
try {
distributedMissionManager.stopSyncRemoteMissions(parameter) distributedMissionManager.stopSyncRemoteMissions(parameter)
.then(data => { .then(data => {
console.info('success data is ' + data); console.info('stopSyncRemoteMissions finished, ' + JSON.stringify(data));
}).catch(error => {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error));
})
} catch (error) {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
```
## distributedMissionManager.continueMission
continueMission(parameter: ContinueDeviceInfo, options: ContinueCallback, callback: AsyncCallback&lt;void&gt;): void;
迁移任务,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS, ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------- | ---- | ----- |
| parameter | [ContinueDeviceInfo](#continuedeviceinfo) | 是 | 迁移信息。 |
| options | [ContinueCallback](#continuecallback) | 是 | 迁移任务完成回调函数。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
**示例:**
```ts
var parameter = {
srcDeviceId: localDeviceId
dstDeviceId: remoteDeviceId
missionId: remoteMissionId
wantParams: {"key": "value"}
};
function OnContinueDone(resultCode) {
console.log('OnContinueDone resultCode: ' + JSON.stringify(resultCode));
};
var options = {
OnContinueDone: OnContinueDone
};
try {
distributedMissionManager.continueMission(parameter, options, (error) => {
if (error.code != 0) {
console.error('continueMission failed, cause: ' + JSON.stringify(error))
}
console.info('continueMission finished')
})
} catch (error) {
console.error('continueMission failed, cause: ' + JSON.stringify(error))
}
```
## distributedMissionManager.continueMission
continueMission(parameter: ContinueDeviceInfo, options: ContinueCallback): Promise&lt;void&gt;
迁移任务,以promise方式返回执行结果。
**需要权限**:ohos.permission.MANAGE_MISSIONS, ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------- | ---- | ----- |
| parameter | [ContinueDeviceInfo](#continuedeviceinfo) | 是 | 迁移信息。 |
| options | [ContinueCallback](#continuecallback) | 是 | 迁移任务完成回调函数。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```ts
var parameter = {
srcDeviceId: localDeviceId
dstDeviceId: remoteDeviceId
missionId: remoteMissionId
wantParams: {"key": "value"}
};
function OnContinueDone(resultCode) {
console.log('OnContinueDone resultCode: ' + JSON.stringify(resultCode));
};
var options = {
OnContinueDone: OnContinueDone
};
try {
distributedMissionManager.continueMission(parameter, options)
.then(data => {
console.info('continueMission finished, ' + JSON.stringify(data));
}).catch(error => { }).catch(error => {
console.info('error error is ' + error); console.error('continueMission failed, cause: ' + JSON.stringify(error));
}) })
} catch (error) {
console.error('continueMission failed, cause: ' + JSON.stringify(error))
}
``` ```
## MissionCallback ## MissionCallback
...@@ -349,3 +488,30 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise&lt;void&gt; ...@@ -349,3 +488,30 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise&lt;void&gt;
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | ------ | ---- | ---- | ------- | | -------- | ------ | ---- | ---- | ------- |
| deviceId | string | 是 | 是 | 表示设备ID。 | | deviceId | string | 是 | 是 | 表示设备ID。 |
## ContinueDeviceInfo
表示发起任务迁移时所需参数的枚举。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | ------ | ---- | ---- | ------- |
| srcDeviceId | string | 是 | 是 | 表示任务迁移源设备ID。 |
| dstDeviceId | string | 是 | 是 | 表示任务迁移目标设备ID。 |
| missionId | string | 是 | 是 | 表示任务ID。 |
| wantParams | {[key: string]: any} | 是 | 是 | 表示扩展参数。 |
## ContinueCallback
表示迁移完成后,返回迁移结果回调函数。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------------- | -------- | ---- | ---- | ------------------ |
| onContinueDone | function | 是 | 否 | 通知迁移完成,返回迁移结果。 |
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册