/* * Copyright (c) 2023-2024 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 MDMKit */ import type Want from './@ohos.app.ability.Want'; import type constant from './@ohos.bluetooth.constant'; import type access from './@ohos.bluetooth.access'; /** * This module provides the capability to manage the bluetooth of the enterprise devices. * * @namespace bluetoothManager * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 11 */ declare namespace bluetoothManager { /** * The information of device bluetooth. * * @typedef BluetoothInfo * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ export interface BluetoothInfo { /** * The name of bluetooth. * * @type { string } * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ name: string; /** * The state of bluetooth. * * @type { access.BluetoothState } * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ state: access.BluetoothState; /** * The state of bluetooth connection * * @type { constant.ProfileConnectionState } * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ connectionState: constant.ProfileConnectionState; } /** * Bluetooth protocol * * @enum { number } * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ export enum Protocol { /** * Gatt protocol. * * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ GATT = 0, /** * Spp protocol. * * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ SPP = 1, /** * Opp protocol. * * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ OPP = 2, } /** * Gets bluetooth information. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @returns { BluetoothInfo } the bluetooth information. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; * 2. Incorrect parameter types; 3. Parameter verification failed. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ function getBluetoothInfo(admin: Want): BluetoothInfo; /** * Disables the bluetooth. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @param { boolean } disabled - true if disable the bluetooth, otherwise false. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; * 2. Incorrect parameter types; 3. Parameter verification failed. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @systemapi * @stagemodelonly * @since 11 */ function setBluetoothDisabled(admin: Want, disabled: boolean): void; /** * Gets state of whether the bluetooth is disabled. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * If the admin is not empty, it must have the corresponding permission. * @returns { boolean } true if the bluetooth is disabled, otherwise false. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; * 2. Incorrect parameter types; 3. Parameter verification failed. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @systemapi * @stagemodelonly * @since 11 */ function isBluetoothDisabled(admin: Want): boolean; /** * Adds devices to the list of bluetooth devices that are allowed to be connected. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @param { Array } deviceIds - IDs of the bluetooth devices to be added to the list. * The size of the array after setting cannot be greater than 1000. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 9200010 - A conflict policy has been configured. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; * 2. Incorrect parameter types; 3. Parameter verification failed. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ function addAllowedBluetoothDevices(admin: Want, deviceIds: Array): void; /** * Removes devices from the list of bluetooth devices that are allowed to be connected. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @param { Array } deviceIds - IDs of the bluetooth devices to be removed from the list. * The size of the array after setting cannot be greater than 1000. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; * 2. Incorrect parameter types; 3. Parameter verification failed. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ function removeAllowedBluetoothDevices(admin: Want, deviceIds: Array): void; /** * Gets the devices in the list of bluetooth devices that are allowed to be connected. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * If the admin is not empty, it must have the corresponding permission. * @returns { Array } IDs of the bluetooth devices in the list. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; * 2. Incorrect parameter types; 3. Parameter verification failed. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 12 */ function getAllowedBluetoothDevices(admin: Want): Array; /** * Turn on bluetooth. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * If the admin is not empty, it must have the corresponding permission. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 203 - This function is prohibited by enterprise management policies. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function turnOnBluetooth(admin: Want): void; /** * Turn off bluetooth. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * If the admin is not empty, it must have the corresponding permission. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @throws { BusinessError } 203 - This function is prohibited by enterprise management policies. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function turnOffBluetooth(admin: Want): void; /** * Adds devices to the list of bluetooth devices that are disallowed to be connected. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @param { Array } deviceIds - IDs of the bluetooth devices to be added to the list. * The size of the array after setting cannot be greater than 1000. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 9200010 - A conflict policy has been configured. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function addDisallowedBluetoothDevices(admin: Want, deviceIds: Array): void; /** * Removes devices from the list of bluetooth devices that are disallowed to be connected. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @param { Array } deviceIds - IDs of the bluetooth devices to be removed from the list. * The size of the array after setting cannot be greater than 1000. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function removeDisallowedBluetoothDevices(admin: Want, deviceIds: Array): void; /** * Gets the devices in the list of bluetooth devices that are disallowed to be connected. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * If the admin is not empty, it must have the corresponding permission. * @returns { Array } IDs of the bluetooth devices in the list. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function getDisallowedBluetoothDevices(admin: Want): Array; /** * Adds protocols to the list of bluetooth server that are disallowed to use. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @param { number } accountId - accountId indicates the local ID of the OS account. * @param { Array } protocols - protocol of the bluetooth to be added to the list. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function addDisallowedBluetoothProtocols(admin: Want, accountId: number, protocols: Array): void; /** * Remove protocol from the list of bluetooth server that are disallowed to use. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * The admin must have the corresponding permission. * @param { number } accountId - accountId indicates the local ID of the OS account. * @param { Array } protocols - protocol of the bluetooth to be removed from the list. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function removeDisallowedBluetoothProtocols(admin: Want, accountId: number, protocols: Array): void; /** * Gets protocols to the list of bluetooth server that are disallowed to use. * This function can be called by a super administrator. * * @permission ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH * @param { Want } admin - admin indicates the enterprise admin extension ability information. * If the admin is not empty, it must have the corresponding permission. * @param { number } accountId - accountId indicates the local ID of the OS account. * @returns { Array } protocol of the bluetooth list. * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. * @syscap SystemCapability.Customization.EnterpriseDeviceManager * @stagemodelonly * @since 20 */ function getDisallowedBluetoothProtocols(admin: Want, accountId: number): Array; } export default bluetoothManager;