mirror of
https://gitee.com/openharmony/interface_sdk-js
synced 2024-12-14 19:20:17 +00:00
fb2d9b9eac
Signed-off-by: liuqian_herb <704938153@qq.com>
305 lines
14 KiB
TypeScript
305 lines
14 KiB
TypeScript
/*
|
|
* Copyright (C) 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.
|
|
*/
|
|
|
|
/**
|
|
* @file
|
|
* @kit ConnectivityKit
|
|
*/
|
|
|
|
import type { AsyncCallback } from './@ohos.base';
|
|
import type baseProfile from './@ohos.bluetooth.baseProfile';
|
|
import type constant from './@ohos.bluetooth.constant';
|
|
|
|
/**
|
|
* Provides methods to accessing bluetooth PBAP(Phone Book Access Profile)-related capabilities.
|
|
*
|
|
* @namespace pbap
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @since 11
|
|
*/
|
|
declare namespace pbap {
|
|
/**
|
|
* Base interface of profile.
|
|
*
|
|
* @typedef { baseProfile.BaseProfile } BaseProfile
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @since 11
|
|
*/
|
|
type BaseProfile = baseProfile.BaseProfile;
|
|
|
|
/**
|
|
* Indicate the phone book access authorization.
|
|
*
|
|
* @typedef { constant.AccessAuthorization } AccessAuthorization
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
type AccessAuthorization = constant.AccessAuthorization;
|
|
|
|
/**
|
|
* Enum for the share type.
|
|
*
|
|
* @enum { number }
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
enum ShareType {
|
|
/**
|
|
* Share the names and numbers in contacts.
|
|
*
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
SHARE_NAME_AND_PHONE_NUMBER = 0,
|
|
/**
|
|
* Share all the information.
|
|
*
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
SHARE_ALL = 1,
|
|
/**
|
|
* Share nothing.
|
|
*
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
SHARE_NOTHING = 2
|
|
}
|
|
|
|
/**
|
|
* create the instance of PBAP server profile.
|
|
*
|
|
* @returns { PbapServerProfile } Returns the instance of pan profile.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @since 11
|
|
*/
|
|
function createPbapServerProfile(): PbapServerProfile;
|
|
|
|
/**
|
|
* Manager PBAP server profile.
|
|
*
|
|
* @typedef PbapServerProfile
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @since 11
|
|
*/
|
|
interface PbapServerProfile extends BaseProfile {
|
|
/**
|
|
* Disconnect the PBAP connection with the remote device.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
disconnect(deviceId: string): void;
|
|
|
|
/**
|
|
* Set the PBAP sharing type.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @param { ShareType } type - Indicates the PBAP sharing type.
|
|
* @param { AsyncCallback<void> } callback - the callback result.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
setShareType(deviceId: string, type: ShareType, callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Set the PBAP sharing type.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @param { ShareType } type - Indicates the PBAP sharing type.
|
|
* @returns { Promise<void> } Returns the promise object.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
setShareType(deviceId: string, type: ShareType): Promise<void>;
|
|
|
|
/**
|
|
* Get the PBAP sharing type.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @param { AsyncCallback<ShareType> } callback - the callback result.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
getShareType(deviceId: string, callback: AsyncCallback<ShareType>): void;
|
|
|
|
/**
|
|
* Get the PBAP sharing type.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @returns { Promise<ShareType> } Returns the promise object.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
getShareType(deviceId: string): Promise<ShareType>;
|
|
|
|
/**
|
|
* Set the phone book access authorization.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @param { AccessAuthorization } authorization - Indicates the permission.
|
|
* @param { AsyncCallback<void> } callback - the callback result.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
setPhoneBookAccessAuthorization(
|
|
deviceId: string,
|
|
authorization: AccessAuthorization,
|
|
callback: AsyncCallback<void>
|
|
): void;
|
|
|
|
/**
|
|
* Set the phone book access authorization.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @param { AccessAuthorization } authorization - Indicates the permission.
|
|
* @returns { Promise<void> } Returns the promise object.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
setPhoneBookAccessAuthorization(deviceId: string, authorization: AccessAuthorization): Promise<void>;
|
|
|
|
/**
|
|
* Get the phone book access authorization.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @param { AsyncCallback<AccessAuthorization> } callback - the callback result.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
getPhoneBookAccessAuthorization(deviceId: string, callback: AsyncCallback<AccessAuthorization>): void;
|
|
|
|
/**
|
|
* Get the phone book access authorization.
|
|
*
|
|
* @permission ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH
|
|
* @param { string } deviceId - Indicates device ID. For example, "11:22:33:AA:BB:FF".
|
|
* @returns { Promise<AccessAuthorization> } Returns the promise object.
|
|
* @throws { BusinessError } 201 - Permission denied.
|
|
* @throws { BusinessError } 202 - Non-system applications are not allowed to use system APIs.
|
|
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
|
|
* <br>2. Incorrect parameter types. 3. Parameter verification failed.
|
|
* @throws { BusinessError } 801 - Capability not supported.
|
|
* @throws { BusinessError } 2900001 - Service stopped.
|
|
* @throws { BusinessError } 2900003 - Bluetooth switch is off.
|
|
* @throws { BusinessError } 2900004 - Profile is not supported.
|
|
* @throws { BusinessError } 2900099 - Operation failed.
|
|
* @syscap SystemCapability.Communication.Bluetooth.Core
|
|
* @systemapi
|
|
* @since 11
|
|
*/
|
|
getPhoneBookAccessAuthorization(deviceId: string): Promise<AccessAuthorization>;
|
|
}
|
|
}
|
|
|
|
export default pbap; |