/* * Copyright (c) 2022-2023 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 './@ohos.base'; import { AsyncCallback } from './@ohos.base'; import type { ContinuationResult as _ContinuationResult } from './continuation/continuationResult'; import type { ContinuationExtraParams as _ContinuationExtraParams } from './continuation/continuationExtraParams'; /** * Provides methods for interacting with the continuation manager service, including methods for registering and * Unregister the ability to hop, updating the device connection state, and showing the list of devices * that can be selected for hopping. * * @namespace continuationManager * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ declare namespace continuationManager { /** * Called when the user selects devices from the candidate device list. * You can implement your own processing logic in this callback to initiate the hop process. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { 'deviceSelected' } type - deviceSelected. * @param { number } token - Registered token. * @param { Callback> } callback - Called when the user selects a device from the device * selection module, returning the device ID,device type, * and device name for developers to use * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @throws { BusinessError } 16600004 - The specified callback has been registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function on(type: 'deviceSelected', token: number, callback: Callback>): void; /** * Called when devices are disconnected from the continuation manager service. * You can implement your own processing logic in this callback, such as notifying the user of the disconnection. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { 'deviceSelected' } type - deviceSelected. * @param { number } token - Registered token. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @throws { BusinessError } 16600004 - The specified callback has been registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function off(type: 'deviceSelected', token: number): void; /** * Called when devices are disconnected from the continuation manager service. * You can implement your own processing logic in this callback, such as notifying the user of the disconnection. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { 'deviceUnselected' } type - deviceUnselected. * @param { number } token - Registered token. * @param { Callback> } callback - Called when the user disconnects the device from the * device selection module, returning the device ID, * device type, and device name for developers to use * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @throws { BusinessError } 16600004 - The specified callback has been registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function on(type: 'deviceUnselected', token: number, callback: Callback>): void; /** * Called when devices are disconnected from the continuation manager service. * You can implement your own processing logic in this callback, such as notifying the user of the disconnection. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { 'deviceUnselected' } type - deviceUnselected. * @param { number } token - Registered token. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @throws { BusinessError } 16600004 - The specified callback has been registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function off(type: 'deviceUnselected', token: number): void; /** * 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. * * @param { 'deviceConnect' } type - deviceConnect. * @param { Callback } callback - Called when the user selects a device from the device selection * module, returning the device ID,device type, and device name for * developers to use. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#on */ function on(type: 'deviceConnect', callback: Callback): void; /** * 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. * * @param { 'deviceConnect' } type - deviceConnect. * @param { Callback } [callback] - Called when the user selects a device from the device * selection module, returning the device ID,device type, * and device name for developers to use. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#off */ function off(type: 'deviceConnect', callback?: Callback): void; /** * Called when a device is disconnected from the continuation manager service. * You can implement your own processing logic in this callback, such as notifying the user of the disconnection. * * @param { 'deviceDisconnect' } type - deviceDisconnect. * @param { Callback } callback - Called when the user disconnects the device from the device selection * module, returning the device ID for developers to use. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#on */ function on(type: 'deviceDisconnect', callback: Callback): void; /** * Called when a device is disconnected from the continuation manager service. * You can implement your own processing logic in this callback, such as notifying the user of the disconnection. * * @param { 'deviceDisconnect' } type - deviceDisconnect. * @param { Callback } [callback] - Called when the user selects a device from the device selection module, * returning the device ID,device type, and device name for developers to use. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#off */ function off(type: 'deviceDisconnect', callback?: Callback): void; /** * Registers an ability to be hopped with the continuation manager service and obtains the registration token * assigned to the ability. * * @param { AsyncCallback } callback - The AsyncCallback form returns the token generated after connecting to * the flow management service. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#registerContinuation */ function register(callback: AsyncCallback): void; /** * Registers an ability to be hopped with the continuation manager service and obtains the registration token * assigned to the ability. * * @param { ContinuationExtraParams } options - Indicates the {@link ExtraParams} object containing the extra * parameters used to filter the list of available devices. * @param { AsyncCallback } callback - The AsyncCallback form returns the token generated after * connecting to the flow management service. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#registerContinuation */ function register(options: ContinuationExtraParams, callback: AsyncCallback): void; /** * Registers an ability to be hopped with the continuation manager service and obtains the registration token * assigned to the ability. * * @param { ContinuationExtraParams } [options] - Indicates the {@link ExtraParams} object containing the extra * parameters used to filter the list of available devices. * @returns { Promise } callback Indicates the callback to be invoked when the continuation manager service * is connected. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#registerContinuation */ function register(options?: ContinuationExtraParams): Promise; /** * Unregisters a specified ability from the continuation manager service based on the token obtained during ability * registration. * * @param { number } token - Indicates the registration token of the ability. * @param { AsyncCallback } callback - AsyncCallback returns the interface call result. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#unregisterContinuation */ function unregister(token: number, callback: AsyncCallback): void; /** * Unregisters a specified ability from the continuation manager service based on the token obtained during ability * registration. * * @param { number } token - Indicates the registration token of the ability. * @returns { Promise } callback Indicates the callback to be invoked when the continuation manager * service is connected. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#unregisterContinuation */ function unregister(token: number): Promise; /** * Updates the connection state of the device where the specified ability is successfully hopped. * * @param { number } token - Indicates the registration token of the ability. * @param { string } deviceId - Indicates the ID of the device whose connection state is to be updated. * @param { DeviceConnectState } status - Indicates the connection state to update. * @param { AsyncCallback } callback - AsyncCallback returns the interface call result. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#updateContinuationState */ function updateConnectStatus( token: number, deviceId: string, status: DeviceConnectState, callback: AsyncCallback ): void; /** * Updates the connection state of the device where the specified ability is successfully hopped. * * @param { number } token - Indicates the registration token of the ability. * @param { string } deviceId - Indicates the ID of the device whose connection state is to be updated. * @param { DeviceConnectState } status - Indicates the connection state to update. * @returns { Promise } callback Indicates the callback to be invoked when the continuation * manager service is connected. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#updateContinuationState */ function updateConnectStatus(token: number, deviceId: string, status: DeviceConnectState): Promise; /** * Start to manage the devices that can be selected for continuation. * * @param { number } token - Indicates the registration token of the ability. * @param { AsyncCallback } callback - AsyncCallback returns the interface call result. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#startContinuationDeviceManager */ function startDeviceManager(token: number, callback: AsyncCallback): void; /** * Start to manage the devices that can be selected for continuation. * * @param { number } token - Indicates the registration token of the ability. * @param { ContinuationExtraParams } options - Indicates the extraParams object containing the extra parameters * used to filter the list of available devices. This parameter is null. * @param { AsyncCallback } callback - AsyncCallback returns the interface call result. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#startContinuationDeviceManager */ function startDeviceManager(token: number, options: ContinuationExtraParams, callback: AsyncCallback): void; /** * Start to manage the devices that can be selected for continuation. * * @param { number } token - Indicates the registration token of the ability. * @param { ContinuationExtraParams } [options] - Indicates the extraParams object containing the extra parameters * used to filter the list of available devices. This parameter is null. * @returns { Promise } callback Indicates the callback to be invoked when the continuation manager service * is connected. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 * @deprecated since 9 * @useinstead ohos.continuation.continuationManager/continuationManager#startContinuationDeviceManager */ function startDeviceManager(token: number, options?: ContinuationExtraParams): Promise; /** * Registers an ability to be hopped with the continuation manager service and obtains the registration token * assigned to the ability. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { AsyncCallback } callback - The AsyncCallback form returns the token generated after connecting to * the flow management service. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600003 - The number of token registration times has reached the upper limit. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function registerContinuation(callback: AsyncCallback): void; /** * Registers an ability to be hopped with the continuation manager service and obtains the registration token * assigned to the ability. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { ContinuationExtraParams } options - Indicates the {@link ExtraParams} object containing extra parameters * used to filter the list of available devices. * @param { AsyncCallback } callback - The AsyncCallback form returns the token generated after connecting to * flow management service. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600003 - The number of token registration times has reached the upper limit. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function registerContinuation(options: ContinuationExtraParams, callback: AsyncCallback): void; /** * Registers an ability to be hopped with the continuation manager service and obtains the registration token * assigned to the ability. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { ContinuationExtraParams } [options] - Indicates the {@link ExtraParams} object containing the extra * parameters used to filter the list of available devices. * @returns { Promise } callback Indicates the callback to be invoked when the continuation manager * service is connected. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600003 - The number of token registration times has reached the upper limit. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function registerContinuation(options?: ContinuationExtraParams): Promise; /** * Unregisters a specified ability from the continuation manager service based on the token obtained during ability * registration. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { number } token - Indicates the registration token of the ability. * @param { AsyncCallback } callback - The AsyncCallback form returns token generated after connecting to flow * management service. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function unregisterContinuation(token: number, callback: AsyncCallback): void; /** * Unregisters a specified ability from the continuation manager service based on the token obtained during ability * registration. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { number } token - Indicates the registration token of the ability. * @returns { Promise } the promise returned by the function. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function unregisterContinuation(token: number): Promise; /** * Updates the connection state of the device where the specified ability is successfully hopped. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { number } token - Indicates the registration token of the ability. * @param { string } deviceId - Indicates the ID of the device whose connection state is to be updated. * @param { DeviceConnectState } status - Indicates the connection state to update. * @param { AsyncCallback } callback - AsyncCallback returns the interface call result. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function updateContinuationState( token: number, deviceId: string, status: DeviceConnectState, callback: AsyncCallback ): void; /** * Updates the connection state of the device where the specified ability is successfully hopped. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { number } token - Indicates the registration token of the ability. * @param { string } deviceId - Indicates the ID of the device whose connection state is to be updated. * @param { DeviceConnectState } status - Indicates the connection state to update. * @returns { Promise } callback Indicates the callback to be invoked when the continuation manager service * is connected. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function updateContinuationState(token: number, deviceId: string, status: DeviceConnectState): Promise; /** * Start to manage the devices that can be selected for continuation. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { number } token - Indicates the registration token of the ability. * @param { AsyncCallback } callback - AsyncCallback returns the interface call result. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function startContinuationDeviceManager(token: number, callback: AsyncCallback): void; /** * Start to manage the devices that can be selected for continuation. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { number } token - Indicates the registration token of the ability. * @param { ContinuationExtraParams } options - Indicates the extraParams object containing the extra parameters * used to filter list of available devices. This parameter can be null. * @param { AsyncCallback } callback - AsyncCallback form returns the interface call result. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function startContinuationDeviceManager( token: number, options: ContinuationExtraParams, callback: AsyncCallback ): void; /** * Start to manage the devices that can be selected for continuation. * * @permission ohos.permission.DISTRIBUTED_DATASYNC * @param { number } token - Indicates the registration token of the ability. * @param { ContinuationExtraParams } [options] - Indicates extraParams object containing extra parameters used to * filter the list of available devices. This parameter can be null. * @returns { Promise } callback Indicates the callback to be invoked when continuation manager service is connected. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 16600001 - The system ability works abnormally. * @throws { BusinessError } 16600002 - The specified token or callback is not registered. * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 9 */ function startContinuationDeviceManager(token: number, options?: ContinuationExtraParams): Promise; /** * Device connection status data structure. * * @enum { number } * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ export enum DeviceConnectState { /** * Initial state of device connection. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ IDLE = 0, /** * Device connection status. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ CONNECTING = 1, /** * The device is connected. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ CONNECTED = 2, /** * The device is disconnected. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ DISCONNECTING = 3 } /** * Indicates the description of additional parameters for continuation. * * @enum { number } * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ export enum ContinuationMode { /** * Collaboration with a single device. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ COLLABORATION_SINGLE = 0, /** * Collaboration with multiple devices. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 8 */ COLLABORATION_MULTIPLE = 1 } /** * Indicates the description of transfer results for continuation. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 10 */ export type ContinuationResult = _ContinuationResult; /** * Indicates the description of additional parameters for continuation. * * @syscap SystemCapability.Ability.DistributedAbilityManager * @since 10 */ export type ContinuationExtraParams = _ContinuationExtraParams; } export default continuationManager;