161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit MDMKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base'; 2261847f8eSopenharmony_ciimport type Want from './@ohos.app.ability.Want'; 2361847f8eSopenharmony_ci 2461847f8eSopenharmony_ci/** 2561847f8eSopenharmony_ci * This module provides the capability to manage the usb of the enterprise devices. 2661847f8eSopenharmony_ci * 2761847f8eSopenharmony_ci * @namespace usbManager 2861847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 2961847f8eSopenharmony_ci * @since 10 3061847f8eSopenharmony_ci */ 3161847f8eSopenharmony_cideclare namespace usbManager { 3261847f8eSopenharmony_ci /** 3361847f8eSopenharmony_ci * Usb policy 3461847f8eSopenharmony_ci * 3561847f8eSopenharmony_ci * @enum { number } 3661847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 3761847f8eSopenharmony_ci * @stagemodelonly 3861847f8eSopenharmony_ci * @since 12 3961847f8eSopenharmony_ci */ 4061847f8eSopenharmony_ci export enum UsbPolicy { 4161847f8eSopenharmony_ci /** 4261847f8eSopenharmony_ci * Policy read write 4361847f8eSopenharmony_ci * 4461847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 4561847f8eSopenharmony_ci * @stagemodelonly 4661847f8eSopenharmony_ci * @since 12 4761847f8eSopenharmony_ci */ 4861847f8eSopenharmony_ci READ_WRITE = 0, 4961847f8eSopenharmony_ci 5061847f8eSopenharmony_ci /** 5161847f8eSopenharmony_ci * Policy read only 5261847f8eSopenharmony_ci * 5361847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 5461847f8eSopenharmony_ci * @stagemodelonly 5561847f8eSopenharmony_ci * @since 12 5661847f8eSopenharmony_ci */ 5761847f8eSopenharmony_ci READ_ONLY = 1, 5861847f8eSopenharmony_ci 5961847f8eSopenharmony_ci /** 6061847f8eSopenharmony_ci * Policy disabled 6161847f8eSopenharmony_ci * 6261847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 6361847f8eSopenharmony_ci * @stagemodelonly 6461847f8eSopenharmony_ci * @since 12 6561847f8eSopenharmony_ci */ 6661847f8eSopenharmony_ci DISABLED = 2 6761847f8eSopenharmony_ci } 6861847f8eSopenharmony_ci 6961847f8eSopenharmony_ci /** 7061847f8eSopenharmony_ci * USB device ID. 7161847f8eSopenharmony_ci * 7261847f8eSopenharmony_ci * @typedef UsbDeviceId 7361847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 7461847f8eSopenharmony_ci * @stagemodelonly 7561847f8eSopenharmony_ci * @since 12 7661847f8eSopenharmony_ci */ 7761847f8eSopenharmony_ci export interface UsbDeviceId { 7861847f8eSopenharmony_ci /** 7961847f8eSopenharmony_ci * The vendor ID of the USB device. 8061847f8eSopenharmony_ci * 8161847f8eSopenharmony_ci * @type { number } 8261847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 8361847f8eSopenharmony_ci * @stagemodelonly 8461847f8eSopenharmony_ci * @since 12 8561847f8eSopenharmony_ci */ 8661847f8eSopenharmony_ci vendorId: number; 8761847f8eSopenharmony_ci 8861847f8eSopenharmony_ci /** 8961847f8eSopenharmony_ci * The product ID of the USB device. 9061847f8eSopenharmony_ci * 9161847f8eSopenharmony_ci * @type { number } 9261847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 9361847f8eSopenharmony_ci * @stagemodelonly 9461847f8eSopenharmony_ci * @since 12 9561847f8eSopenharmony_ci */ 9661847f8eSopenharmony_ci productId: number; 9761847f8eSopenharmony_ci } 9861847f8eSopenharmony_ci 9961847f8eSopenharmony_ci /** 10061847f8eSopenharmony_ci * USB Descriptor 10161847f8eSopenharmony_ci * 10261847f8eSopenharmony_ci * @enum { number } 10361847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 10461847f8eSopenharmony_ci * @stagemodelonly 10561847f8eSopenharmony_ci * @since 14 10661847f8eSopenharmony_ci */ 10761847f8eSopenharmony_ci enum Descriptor { 10861847f8eSopenharmony_ci /** 10961847f8eSopenharmony_ci * Interface descriptor 11061847f8eSopenharmony_ci * 11161847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 11261847f8eSopenharmony_ci * @stagemodelonly 11361847f8eSopenharmony_ci * @since 14 11461847f8eSopenharmony_ci */ 11561847f8eSopenharmony_ci INTERFACE = 0, 11661847f8eSopenharmony_ci 11761847f8eSopenharmony_ci /** 11861847f8eSopenharmony_ci * Device descriptor 11961847f8eSopenharmony_ci * 12061847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 12161847f8eSopenharmony_ci * @stagemodelonly 12261847f8eSopenharmony_ci * @since 14 12361847f8eSopenharmony_ci */ 12461847f8eSopenharmony_ci DEVICE = 1 12561847f8eSopenharmony_ci } 12661847f8eSopenharmony_ci 12761847f8eSopenharmony_ci /** 12861847f8eSopenharmony_ci * USB device Type. 12961847f8eSopenharmony_ci * 13061847f8eSopenharmony_ci * @typedef UsbDeviceType 13161847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 13261847f8eSopenharmony_ci * @stagemodelonly 13361847f8eSopenharmony_ci * @since 14 13461847f8eSopenharmony_ci */ 13561847f8eSopenharmony_ci export interface UsbDeviceType { 13661847f8eSopenharmony_ci /** 13761847f8eSopenharmony_ci * The base class in USB class code information. 13861847f8eSopenharmony_ci * 13961847f8eSopenharmony_ci * @type { number } 14061847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 14161847f8eSopenharmony_ci * @stagemodelonly 14261847f8eSopenharmony_ci * @since 14 14361847f8eSopenharmony_ci */ 14461847f8eSopenharmony_ci baseClass: number; 14561847f8eSopenharmony_ci 14661847f8eSopenharmony_ci /** 14761847f8eSopenharmony_ci * The subclass in USB class code information. 14861847f8eSopenharmony_ci * 14961847f8eSopenharmony_ci * @type { number } 15061847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 15161847f8eSopenharmony_ci * @stagemodelonly 15261847f8eSopenharmony_ci * @since 14 15361847f8eSopenharmony_ci */ 15461847f8eSopenharmony_ci subClass: number; 15561847f8eSopenharmony_ci 15661847f8eSopenharmony_ci /** 15761847f8eSopenharmony_ci * The protocol in USB class code information. 15861847f8eSopenharmony_ci * 15961847f8eSopenharmony_ci * @type { number } 16061847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 16161847f8eSopenharmony_ci * @stagemodelonly 16261847f8eSopenharmony_ci * @since 14 16361847f8eSopenharmony_ci */ 16461847f8eSopenharmony_ci protocol: number; 16561847f8eSopenharmony_ci 16661847f8eSopenharmony_ci /** 16761847f8eSopenharmony_ci * The descriptor that the class code is used in. 16861847f8eSopenharmony_ci * 16961847f8eSopenharmony_ci * @type { Descriptor } 17061847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 17161847f8eSopenharmony_ci * @stagemodelonly 17261847f8eSopenharmony_ci * @since 14 17361847f8eSopenharmony_ci */ 17461847f8eSopenharmony_ci descriptor: Descriptor; 17561847f8eSopenharmony_ci } 17661847f8eSopenharmony_ci 17761847f8eSopenharmony_ci /** 17861847f8eSopenharmony_ci * Set usb policy by {@link UsbPolicy}. 17961847f8eSopenharmony_ci * This function can be called by a super administrator. 18061847f8eSopenharmony_ci * 18161847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 18261847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 18361847f8eSopenharmony_ci * The admin must have the corresponding permission. 18461847f8eSopenharmony_ci * @param { UsbPolicy } usbPolicy - usb policy code. 18561847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of setUsbPolicy. 18661847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 18761847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 18861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 18961847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 19061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 19161847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 19261847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 19361847f8eSopenharmony_ci * @systemapi 19461847f8eSopenharmony_ci * @stagemodelonly 19561847f8eSopenharmony_ci * @since 10 19661847f8eSopenharmony_ci */ 19761847f8eSopenharmony_ci function setUsbPolicy(admin: Want, usbPolicy: UsbPolicy, callback: AsyncCallback<void>): void; 19861847f8eSopenharmony_ci 19961847f8eSopenharmony_ci /** 20061847f8eSopenharmony_ci * Set usb policy by {@link UsbPolicy}. 20161847f8eSopenharmony_ci * This function can be called by a super administrator. 20261847f8eSopenharmony_ci * 20361847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 20461847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 20561847f8eSopenharmony_ci * The admin must have the corresponding permission. 20661847f8eSopenharmony_ci * @param { UsbPolicy } usbPolicy - usb policy code. 20761847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned setUsbPolicy. 20861847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 20961847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 21061847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 21161847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 21261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 21361847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 21461847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 21561847f8eSopenharmony_ci * @systemapi 21661847f8eSopenharmony_ci * @stagemodelonly 21761847f8eSopenharmony_ci * @since 10 21861847f8eSopenharmony_ci */ 21961847f8eSopenharmony_ci function setUsbPolicy(admin: Want, usbPolicy: UsbPolicy): Promise<void>; 22061847f8eSopenharmony_ci 22161847f8eSopenharmony_ci /** 22261847f8eSopenharmony_ci * Disables USB. 22361847f8eSopenharmony_ci * This function can be called by a super administrator. 22461847f8eSopenharmony_ci * 22561847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 22661847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 22761847f8eSopenharmony_ci * The admin must have the corresponding permission. 22861847f8eSopenharmony_ci * @param { boolean } disable - true if disable USB, otherwise false. 22961847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 23061847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 23161847f8eSopenharmony_ci * @throws { BusinessError } 9200010 - A conflict policy has been configured. 23261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 23361847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 23461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 23561847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 23661847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 23761847f8eSopenharmony_ci * @systemapi 23861847f8eSopenharmony_ci * @stagemodelonly 23961847f8eSopenharmony_ci * @since 11 24061847f8eSopenharmony_ci */ 24161847f8eSopenharmony_ci function disableUsb(admin: Want, disable: boolean): void; 24261847f8eSopenharmony_ci 24361847f8eSopenharmony_ci /** 24461847f8eSopenharmony_ci * Queries whether USB is disabled. 24561847f8eSopenharmony_ci * This function can be called by a super administrator. 24661847f8eSopenharmony_ci * 24761847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 24861847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 24961847f8eSopenharmony_ci * If the admin is not empty, it must have the corresponding permission. 25061847f8eSopenharmony_ci * @returns { boolean } true if USB is disabled, otherwise false. 25161847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 25261847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 25361847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 25461847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 25561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 25661847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 25761847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 25861847f8eSopenharmony_ci * @systemapi 25961847f8eSopenharmony_ci * @stagemodelonly 26061847f8eSopenharmony_ci * @since 11 26161847f8eSopenharmony_ci */ 26261847f8eSopenharmony_ci function isUsbDisabled(admin: Want): boolean; 26361847f8eSopenharmony_ci 26461847f8eSopenharmony_ci /** 26561847f8eSopenharmony_ci * Adds the available USB device trust list by {@link UsbDeviceId} array. 26661847f8eSopenharmony_ci * This function can be called by a super administrator. 26761847f8eSopenharmony_ci * 26861847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 26961847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 27061847f8eSopenharmony_ci * The admin must have the corresponding permission. 27161847f8eSopenharmony_ci * @param { Array<UsbDeviceId> } usbDeviceIds - an array of added USB device ids. 27261847f8eSopenharmony_ci * The size of the array after setting cannot be greater 1000. 27361847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 27461847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 27561847f8eSopenharmony_ci * @throws { BusinessError } 9200010 - A conflict policy has been configured. 27661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 27761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 27861847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 27961847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 28061847f8eSopenharmony_ci * @stagemodelonly 28161847f8eSopenharmony_ci * @since 12 28261847f8eSopenharmony_ci */ 28361847f8eSopenharmony_ci function addAllowedUsbDevices(admin: Want, usbDeviceIds: Array<UsbDeviceId>): void; 28461847f8eSopenharmony_ci 28561847f8eSopenharmony_ci /** 28661847f8eSopenharmony_ci * Removes the available USB device trust list by {@link UsbDeviceId} array. 28761847f8eSopenharmony_ci * This function can be called by a super administrator. 28861847f8eSopenharmony_ci * 28961847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 29061847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 29161847f8eSopenharmony_ci * The admin must have the corresponding permission. 29261847f8eSopenharmony_ci * @param { Array<UsbDeviceId> } usbDeviceIds - an array of removed USB device ids. 29361847f8eSopenharmony_ci * The size of the array after setting cannot be greater 1000. 29461847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 29561847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 29661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 29761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 29861847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 29961847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 30061847f8eSopenharmony_ci * @stagemodelonly 30161847f8eSopenharmony_ci * @since 12 30261847f8eSopenharmony_ci */ 30361847f8eSopenharmony_ci function removeAllowedUsbDevices(admin: Want, usbDeviceIds: Array<UsbDeviceId>): void; 30461847f8eSopenharmony_ci 30561847f8eSopenharmony_ci /** 30661847f8eSopenharmony_ci * Gets the available USB device trust list. 30761847f8eSopenharmony_ci * This function can be called by a super administrator. 30861847f8eSopenharmony_ci * 30961847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 31061847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 31161847f8eSopenharmony_ci * The admin must have the corresponding permission. 31261847f8eSopenharmony_ci * @returns { Array<UsbDeviceId> } an array of the available USB device trust list. 31361847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 31461847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 31561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 31661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 31761847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 31861847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 31961847f8eSopenharmony_ci * @stagemodelonly 32061847f8eSopenharmony_ci * @since 12 32161847f8eSopenharmony_ci */ 32261847f8eSopenharmony_ci function getAllowedUsbDevices(admin: Want): Array<UsbDeviceId>; 32361847f8eSopenharmony_ci 32461847f8eSopenharmony_ci /** 32561847f8eSopenharmony_ci * Sets USB storage device access policy by {@link UsbPolicy}. 32661847f8eSopenharmony_ci * This function can be called by a super administrator. 32761847f8eSopenharmony_ci * 32861847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 32961847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 33061847f8eSopenharmony_ci * The admin must have the corresponding permission. 33161847f8eSopenharmony_ci * @param { UsbPolicy } usbPolicy - USB policy of storage device. 33261847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 33361847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 33461847f8eSopenharmony_ci * @throws { BusinessError } 9200010 - A conflict policy has been configured. 33561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 33661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 33761847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 33861847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 33961847f8eSopenharmony_ci * @stagemodelonly 34061847f8eSopenharmony_ci * @since 12 34161847f8eSopenharmony_ci */ 34261847f8eSopenharmony_ci function setUsbStorageDeviceAccessPolicy(admin: Want, usbPolicy: UsbPolicy): void; 34361847f8eSopenharmony_ci 34461847f8eSopenharmony_ci /** 34561847f8eSopenharmony_ci * Gets USB storage device access policy. 34661847f8eSopenharmony_ci * This function can be called by a super administrator. 34761847f8eSopenharmony_ci * 34861847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 34961847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 35061847f8eSopenharmony_ci * The admin must have the corresponding permission. 35161847f8eSopenharmony_ci * @returns { UsbPolicy } USB policy of storage device. 35261847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 35361847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 35461847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 35561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 35661847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 35761847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 35861847f8eSopenharmony_ci * @stagemodelonly 35961847f8eSopenharmony_ci * @since 12 36061847f8eSopenharmony_ci */ 36161847f8eSopenharmony_ci function getUsbStorageDeviceAccessPolicy(admin: Want): UsbPolicy; 36261847f8eSopenharmony_ci 36361847f8eSopenharmony_ci /** 36461847f8eSopenharmony_ci * Adds disallowed USB devices by {@link UsbDeviceType} array. 36561847f8eSopenharmony_ci * This function can be called by a super administrator. 36661847f8eSopenharmony_ci * 36761847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 36861847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 36961847f8eSopenharmony_ci * The admin must have the corresponding permission. 37061847f8eSopenharmony_ci * @param { Array<UsbDeviceType> } usbDevices - list of USB device types. 37161847f8eSopenharmony_ci * The size of the array after setting cannot be greater 1000. 37261847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 37361847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 37461847f8eSopenharmony_ci * @throws { BusinessError } 9200010 - A conflict policy has been configured. 37561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 37661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 37761847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 37861847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 37961847f8eSopenharmony_ci * @stagemodelonly 38061847f8eSopenharmony_ci * @since 14 38161847f8eSopenharmony_ci */ 38261847f8eSopenharmony_ci function addDisallowedUsbDevices(admin: Want, usbDevices: Array<UsbDeviceType>): void; 38361847f8eSopenharmony_ci 38461847f8eSopenharmony_ci /** 38561847f8eSopenharmony_ci * Removes disallowed USB devices by {@link UsbDeviceType} array. 38661847f8eSopenharmony_ci * This function can be called by a super administrator. 38761847f8eSopenharmony_ci * 38861847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 38961847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 39061847f8eSopenharmony_ci * The admin must have the corresponding permission. 39161847f8eSopenharmony_ci * @param { Array<UsbDeviceType> } usbDevices - list of USB device types. 39261847f8eSopenharmony_ci * The size of the array after setting cannot be greater 1000. 39361847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 39461847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 39561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 39661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 39761847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 39861847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 39961847f8eSopenharmony_ci * @stagemodelonly 40061847f8eSopenharmony_ci * @since 14 40161847f8eSopenharmony_ci */ 40261847f8eSopenharmony_ci function removeDisallowedUsbDevices(admin: Want, usbDevices: Array<UsbDeviceType>): void; 40361847f8eSopenharmony_ci 40461847f8eSopenharmony_ci /** 40561847f8eSopenharmony_ci * Gets the disallowed USB devices list. 40661847f8eSopenharmony_ci * This function can be called by a super administrator. 40761847f8eSopenharmony_ci * 40861847f8eSopenharmony_ci * @permission ohos.permission.ENTERPRISE_MANAGE_USB 40961847f8eSopenharmony_ci * @param { Want } admin - admin indicates the enterprise admin extension ability information. 41061847f8eSopenharmony_ci * The admin must have the corresponding permission. 41161847f8eSopenharmony_ci * @returns { Array<UsbDeviceType> } USB device types that are disallowed. 41261847f8eSopenharmony_ci * @throws { BusinessError } 9200001 - The application is not an administrator application of the device. 41361847f8eSopenharmony_ci * @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device. 41461847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 41561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 41661847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 41761847f8eSopenharmony_ci * @syscap SystemCapability.Customization.EnterpriseDeviceManager 41861847f8eSopenharmony_ci * @stagemodelonly 41961847f8eSopenharmony_ci * @since 14 42061847f8eSopenharmony_ci */ 42161847f8eSopenharmony_ci function getDisallowedUsbDevices(admin: Want): Array<UsbDeviceType>; 42261847f8eSopenharmony_ci} 42361847f8eSopenharmony_ci 42461847f8eSopenharmony_ciexport default usbManager; 425