From 3430cc3c75113759f736136bd47c5e0d93ec9185 Mon Sep 17 00:00:00 2001 From: wuliubao Date: Thu, 17 Mar 2022 21:30:05 +0800 Subject: [PATCH] =?UTF-8?q?IssueNo:#I4YD94=20Description:=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0Continuation=E7=9B=B8=E5=85=B3API=E5=AE=9A=E4=B9=89=20?= =?UTF-8?q?Sig:=20SIG=5FApplicationFramework=20Feature=20or=20Bugfix:=20Fe?= =?UTF-8?q?ature=20Binary=20Source:=20No?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuliubao --- ...ohos.continuation.continuationManager.d.ts | 140 ++++++++++++++++++ api/continuation/continuationExtraParams.d.ts | 72 +++++++++ api/continuation/continuationResult.d.ts | 46 ++++++ 3 files changed, 258 insertions(+) create mode 100644 api/@ohos.continuation.continuationManager.d.ts create mode 100644 api/continuation/continuationExtraParams.d.ts create mode 100644 api/continuation/continuationResult.d.ts diff --git a/api/@ohos.continuation.continuationManager.d.ts b/api/@ohos.continuation.continuationManager.d.ts new file mode 100644 index 0000000000..2c9244e8d3 --- /dev/null +++ b/api/@ohos.continuation.continuationManager.d.ts @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"), + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Callback } from './basic'; +import { AsyncCallback } from './basic'; +import { ContinuationResult } from './continuation/continuationResult' +import { ContinuationExtraParams } from './continuation/continuationExtraParams' + +/** + * Provides methods for interacting with the continuation manager servcie, including methods for registering and + * unregistering the ability to hop, updating the device connection state, and showing the list of devices + * that can be selected for hopping. + * @name continuationManager + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + * @permission N/A + */ +declare namespace continuationManager { + /** + * Called when the user selects a device from the candidate device list. + * You can implement your own processing logic in this callback to initiate the hop process. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + * @param type deviceConnect. + * @return callback Indicates the information about the selected device. + */ + function on(type: "deviceConnect", callback: Callback): void; + function off(type: "deviceConnect", callback?: Callback): void; + + /** + * Called when a device is disconnected from the continuation manager servcie. + * You can implement your own processing logic in this callback, such as notifying the user of the disconnection. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + * @param type deviceDisconnect. + * @return callback Indicates the ID of the disconnected device. + */ + function on(type: "deviceDisconnect", callback: Callback): void; + function off(type: "deviceDisconnect", callback?: Callback): void; + + /** + * Registers an ability to be hopped with the continuation manager servcie and obtains the registration token + * assigned to the ability. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + * @param options Indicates the {@link ExtraParams} object containing the extra parameters used to filter + * the list of available devices. + * @return callback Indicates the callback to be invoked when the continuation manager servcie is connected. + */ + function register(callback: AsyncCallback): void; + function register(options: ContinuationExtraParams, callback: AsyncCallback): void; + function register(options?: ContinuationExtraParams): Promise; + + /** + * Unregisters a specified ability from the continuation manager servcie based on the token obtained during ability + * registration. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + * @param token Indicates the registration token of the ability. + * @return callback Indicates the callback to be invoked when the continuation manager servcie is connected. + */ + function unregister(token: number, callback: AsyncCallback): void; + function unregister(token: number): Promise; + + /** + * Updates the connection state of the device where the specified ability is successfully hopped. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + * @param token Indicates the registration token of the ability. + * @param deviceId Indicates the ID of the device whose connection state is to be updated. + * @param status Indicates the connection state to update. + * @return callback Indicates the callback to be invoked when the continuation manager servcie is connected. + */ + function updateConnectStatus(token: number, deviceId: string, status: DeviceConnectState, callback: AsyncCallback): void; + function updateConnectStatus(token: number, deviceId: string, status: DeviceConnectState): Promise; + + /** + * Start to manage the devices that can be selected for continuation on the distributed network. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + * @param token Indicates the registration token of the ability. + * @param options Indicates the extraParams object containing the extra parameters used to filter + * the list of available devices. This parameter can be null. + * @return callback Indicates the callback to be invoked when the continuation manager servcie is connected. + */ + function startDeviceManager(token: number, callback: AsyncCallback): void; + function startDeviceManager(token: number, options: ContinuationExtraParams, callback: AsyncCallback): void; + function startDeviceManager(token: number, options?: ContinuationExtraParams): Promise; + + /** + * Device connection status data structure. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + export enum DeviceConnectState { + IDLE = 0, + CONNECTING = 1, + CONNECTED = 2, + DISCONNECTING = 3 + } + + /** + * Indicates the description of additional parameters for continuation. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + export enum ContinuationMode { + + /** + * Collaboration with a single device. + */ + COLLABORATION_SINGLE = 0, + + /** + * Collaboration with multiple devices. + */ + COLLABORATION_MULTIPLE = 1, + } + +} +export default continuationManager; \ No newline at end of file diff --git a/api/continuation/continuationExtraParams.d.ts b/api/continuation/continuationExtraParams.d.ts new file mode 100644 index 0000000000..63ec73151c --- /dev/null +++ b/api/continuation/continuationExtraParams.d.ts @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"), + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import continuationManager from "../@ohos.continuation.continuationManager"; + +/** + * Indicates the description of additional parameters for continuation. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ +export interface ContinuationExtraParams { + /** + * Indicates the type of devices to be matched. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + deviceType?: Array; + + /** + * Indicates the bundle name of the target application where the ability will be hopped. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + targetBundle?: string; + + /** + * Indicates the description used for device filtering. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + description?: string; + + /** + * Parameters used for filtering devices. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + filter?: any; + + /** + * Mode of continuation. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + continuationMode?: continuationManager.ContinuationMode; + + /** + * Authentication extra infos. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + authInfo?: { [key: string]: any } +} \ No newline at end of file diff --git a/api/continuation/continuationResult.d.ts b/api/continuation/continuationResult.d.ts new file mode 100644 index 0000000000..a25acdffee --- /dev/null +++ b/api/continuation/continuationResult.d.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"), + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Indicates the description of transfer results for continuation. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ +export interface ContinuationResult { + /** + * the information about the selected device id. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + id: string; + + /** + * the information about the selected device type. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + type: string; + + /** + * Indicates the name of the selected device. + * + * @since 8 + * @syscap SystemCapability.Ability.DistributedAbilityManager + */ + name: string; +} \ No newline at end of file -- Gitee