* 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 baseProfile from './@ohos.bluetooth.baseProfile';
* Provides methods to accessing bluetooth call-related capabilities.
*
* @syscap SystemCapability.Communication.Bluetooth.Core
* @since 10 dynamic
* @since 23 static
*/
declare namespace hfp {
* Base interface of profile.
*
* @syscap SystemCapability.Communication.Bluetooth.Core
* @since 10 dynamic
* @since 23 static
*/
type BaseProfile = baseProfile.BaseProfile;
* create the instance of hfp profile.
*
* @returns { HandsFreeAudioGatewayProfile } Returns the instance of profile.
* @throws { BusinessError } 401 - Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified.
* 2. Incorrect parameter types. 3. Parameter verification failed.
* @throws { BusinessError } 801 - Capability not supported.
* @syscap SystemCapability.Communication.Bluetooth.Core
* @since 10 dynamic
* @since 23 static
*/
function createHfpAgProfile(): HandsFreeAudioGatewayProfile;
* create the instance of HF(Hands-Free Unit) for HFP(Hands-Free Profile).
*
* @returns { HandsFreeHfProfile } Returns the instance of profile.
* @throws { BusinessError } 801 - Capability not supported.
* @syscap SystemCapability.Communication.Bluetooth.Core
* @stagemodelonly
* @since 26.0.0 dynamic
*/
function createHfpHfProfile(): HandsFreeHfProfile;
* Manager hfp source profile.
*
* @syscap SystemCapability.Communication.Bluetooth.Core
* @since 10 dynamic
* @since 23 static
*/
interface HandsFreeAudioGatewayProfile extends BaseProfile {
* Initiate an HFP connection to a 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.
* 2. Incorrect parameter types. 3. Parameter verification failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 2900001 - Service stopped.
* @throws { BusinessError } 2900003 - Bluetooth disabled.
* @throws { BusinessError } 2900004 - Profile not supported.
* @throws { BusinessError } 2900099 - Operation failed.
* @syscap SystemCapability.Communication.Bluetooth.Core
* @systemapi
* @since 10 dynamic
* @since 23 static
*/
connect(deviceId: string): void;
* Disconnect the HFP 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.
* 2. Incorrect parameter types. 3. Parameter verification failed.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 2900001 - Service stopped.
* @throws { BusinessError } 2900003 - Bluetooth disabled.
* @throws { BusinessError } 2900004 - Profile not supported.
* @throws { BusinessError } 2900099 - Operation failed.
* @syscap SystemCapability.Communication.Bluetooth.Core
* @systemapi
* @since 10 dynamic
* @since 23 static
*/
disconnect(deviceId: string): void;
}
* Manage hfp sink profile.
*
* @syscap SystemCapability.Communication.Bluetooth.Core
* @stagemodelonly
* @since 26.0.0 dynamic
*/
interface HandsFreeHfProfile extends BaseProfile {
* Initiate the HFP connection to a 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 } 801 - Capability not supported.
* @throws { BusinessError } 2900001 - Service stopped.
* @throws { BusinessError } 2900003 - Bluetooth disabled.
* @throws { BusinessError } 2900004 - Profile not supported.
* @throws { BusinessError } 2900099 - Internal system error. For example, IPC error.
* @syscap SystemCapability.Communication.Bluetooth.Core
* @systemapi
* @stagemodelonly
* @since 26.0.0 dynamic
*/
connect(deviceId: string): void;
* Disconnect the HFP 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 } 801 - Capability not supported.
* @throws { BusinessError } 2900001 - Service stopped.
* @throws { BusinessError } 2900003 - Bluetooth disabled.
* @throws { BusinessError } 2900004 - Profile not supported.
* @throws { BusinessError } 2900099 - Internal system error. For example, IPC error.
* @syscap SystemCapability.Communication.Bluetooth.Core
* @systemapi
* @stagemodelonly
* @since 26.0.0 dynamic
*/
disconnect(deviceId: string): void;
}
}
export default hfp;