161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2023 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 DriverDevelopmentKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base'; 2261847f8eSopenharmony_ciimport type rpc from './@ohos.rpc'; 2361847f8eSopenharmony_ci 2461847f8eSopenharmony_ci/** 2561847f8eSopenharmony_ci * This module provides the capability of manage external device. 2661847f8eSopenharmony_ci * 2761847f8eSopenharmony_ci * @namespace deviceManager 2861847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 2961847f8eSopenharmony_ci * @since 10 3061847f8eSopenharmony_ci */ 3161847f8eSopenharmony_cideclare namespace deviceManager { 3261847f8eSopenharmony_ci /** 3361847f8eSopenharmony_ci * Query the external device list. 3461847f8eSopenharmony_ci * 3561847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 3661847f8eSopenharmony_ci * @param { number } busType - The bus type of device to be queried. 3761847f8eSopenharmony_ci * @returns { Array<Readonly<Device>> } External device list. 3861847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 3961847f8eSopenharmony_ci * @throws { BusinessError } 401 - The parameter check failed. 4061847f8eSopenharmony_ci * @throws { BusinessError } 22900001 - ExternalDeviceManager service exception. 4161847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 4261847f8eSopenharmony_ci * @since 10 4361847f8eSopenharmony_ci */ 4461847f8eSopenharmony_ci function queryDevices(busType?: number): Array<Readonly<Device>>; 4561847f8eSopenharmony_ci 4661847f8eSopenharmony_ci /** 4761847f8eSopenharmony_ci * Bind the device based on the device information returned by queryDevices(). 4861847f8eSopenharmony_ci * 4961847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 5061847f8eSopenharmony_ci * @param { number } deviceId - Device id on the device list returned by queryDevices(). 5161847f8eSopenharmony_ci * @param { AsyncCallback<number> } onDisconnect - Callback is invoked when device is disconnected after bind 5261847f8eSopenharmony_ci * success. 5361847f8eSopenharmony_ci * @param { AsyncCallback<{deviceId: number; remote: rpc.IRemoteObject;}> } callback - Indicates the bind result 5461847f8eSopenharmony_ci * including device ID and remote object. 5561847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 5661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 5761847f8eSopenharmony_ci * 3.Parameter verification failed. 5861847f8eSopenharmony_ci * @throws { BusinessError } 22900001 - ExternalDeviceManager service exception. 5961847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 6061847f8eSopenharmony_ci * @since 10 6161847f8eSopenharmony_ci */ 6261847f8eSopenharmony_ci function bindDevice(deviceId: number, onDisconnect: AsyncCallback<number>, 6361847f8eSopenharmony_ci callback: AsyncCallback<{deviceId: number; remote: rpc.IRemoteObject;}>): void; 6461847f8eSopenharmony_ci 6561847f8eSopenharmony_ci /** 6661847f8eSopenharmony_ci * Bind the device based on the device information returned by queryDevices(). 6761847f8eSopenharmony_ci * 6861847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 6961847f8eSopenharmony_ci * @param { number } deviceId - Device id on the device list returned by queryDevices(). 7061847f8eSopenharmony_ci * @param { AsyncCallback<number> } onDisconnect - Callback is invoked when device is disconnected after bind 7161847f8eSopenharmony_ci * success. 7261847f8eSopenharmony_ci * @param { AsyncCallback<RemoteDeviceDriver> } callback - Indicates the bind result including device ID and 7361847f8eSopenharmony_ci * remote object. 7461847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 7561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 7661847f8eSopenharmony_ci * 3.Parameter verification failed. 7761847f8eSopenharmony_ci * @throws { BusinessError } 22900001 - ExternalDeviceManager service exception. 7861847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 7961847f8eSopenharmony_ci * @since 11 8061847f8eSopenharmony_ci */ 8161847f8eSopenharmony_ci function bindDeviceDriver(deviceId: number, onDisconnect: AsyncCallback<number>, 8261847f8eSopenharmony_ci callback: AsyncCallback<RemoteDeviceDriver>): void; 8361847f8eSopenharmony_ci 8461847f8eSopenharmony_ci /** 8561847f8eSopenharmony_ci * Bind the device based on the device information returned by queryDevices(). 8661847f8eSopenharmony_ci * 8761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 8861847f8eSopenharmony_ci * @param { number } deviceId - Device id on the device list returned by queryDevices(). 8961847f8eSopenharmony_ci * @param { AsyncCallback<number> } onDisconnect - Callback is invoked when device is disconnected after bind 9061847f8eSopenharmony_ci * success. 9161847f8eSopenharmony_ci * @returns { Promise<{deviceId: number; remote: rpc.IRemoteObject;}> } Indicates the bind result including device 9261847f8eSopenharmony_ci * ID and remote object. 9361847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 9461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 9561847f8eSopenharmony_ci * 3.Parameter verification failed. 9661847f8eSopenharmony_ci * @throws { BusinessError } 22900001 - ExternalDeviceManager service exception. 9761847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 9861847f8eSopenharmony_ci * @since 10 9961847f8eSopenharmony_ci */ 10061847f8eSopenharmony_ci function bindDevice(deviceId: number, onDisconnect: AsyncCallback<number>): Promise<{deviceId: number; 10161847f8eSopenharmony_ci remote: rpc.IRemoteObject;}>; 10261847f8eSopenharmony_ci 10361847f8eSopenharmony_ci /** 10461847f8eSopenharmony_ci * Bind the device based on the device information returned by queryDevices(). 10561847f8eSopenharmony_ci * 10661847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 10761847f8eSopenharmony_ci * @param { number } deviceId - Device id on the device list returned by queryDevices(). 10861847f8eSopenharmony_ci * @param { AsyncCallback<number> } onDisconnect - Callback is invoked when device is disconnected after bind 10961847f8eSopenharmony_ci * success. 11061847f8eSopenharmony_ci * @returns { Promise<RemoteDeviceDriver> } Indicates the bind result including device ID and remote object. 11161847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 11261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 11361847f8eSopenharmony_ci * 3.Parameter verification failed. 11461847f8eSopenharmony_ci * @throws { BusinessError } 22900001 - ExternalDeviceManager service exception. 11561847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 11661847f8eSopenharmony_ci * @since 11 11761847f8eSopenharmony_ci */ 11861847f8eSopenharmony_ci function bindDeviceDriver(deviceId: number, onDisconnect: AsyncCallback<number>): Promise<RemoteDeviceDriver>; 11961847f8eSopenharmony_ci 12061847f8eSopenharmony_ci /** 12161847f8eSopenharmony_ci * Unbind the device based on the device information returned by queryDevices(). 12261847f8eSopenharmony_ci * 12361847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 12461847f8eSopenharmony_ci * @param { number } deviceId - Device id on the device list returned by queryDevices(). 12561847f8eSopenharmony_ci * @param { AsyncCallback<number> } callback - Indicates the unbind result invoked when unbind is finished. 12661847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 12761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 12861847f8eSopenharmony_ci * @throws { BusinessError } 22900001 - ExternalDeviceManager service exception. 12961847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 13061847f8eSopenharmony_ci * @since 10 13161847f8eSopenharmony_ci */ 13261847f8eSopenharmony_ci function unbindDevice(deviceId: number, callback: AsyncCallback<number>): void; 13361847f8eSopenharmony_ci 13461847f8eSopenharmony_ci /** 13561847f8eSopenharmony_ci * Unbind the device based on the device information returned by queryDevices(). 13661847f8eSopenharmony_ci * 13761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 13861847f8eSopenharmony_ci * @param { number } deviceId - Device id on the device list returned by queryDevices(). 13961847f8eSopenharmony_ci * @returns { Promise<number> } - Indicates the unbind result invoked when unbind is finished. 14061847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 14161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 14261847f8eSopenharmony_ci * 3.Parameter verification failed. 14361847f8eSopenharmony_ci * @throws { BusinessError } 22900001 - ExternalDeviceManager service exception. 14461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 14561847f8eSopenharmony_ci * @since 10 14661847f8eSopenharmony_ci */ 14761847f8eSopenharmony_ci function unbindDevice(deviceId: number): Promise<number>; 14861847f8eSopenharmony_ci 14961847f8eSopenharmony_ci /** 15061847f8eSopenharmony_ci * Queries external device information. 15161847f8eSopenharmony_ci * 15261847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 15361847f8eSopenharmony_ci * @param { number } deviceId - ID of device to query. 15461847f8eSopenharmony_ci * @returns { Array<Readonly<DeviceInfo>> } Device information obtained. 15561847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 15661847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. A non-system application cannot call a system API. 15761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types. 15861847f8eSopenharmony_ci * @throws { BusinessError } 26300001 - ExternalDeviceManager service exception. 15961847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 16061847f8eSopenharmony_ci * @systemapi 16161847f8eSopenharmony_ci * @since 12 16261847f8eSopenharmony_ci */ 16361847f8eSopenharmony_ci function queryDeviceInfo(deviceId?: number): Array<Readonly<DeviceInfo>>; 16461847f8eSopenharmony_ci 16561847f8eSopenharmony_ci /** 16661847f8eSopenharmony_ci * Queries driver information. 16761847f8eSopenharmony_ci * 16861847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 16961847f8eSopenharmony_ci * @param { string } driverUid - Unique identifier of driver query. 17061847f8eSopenharmony_ci * @returns { Array<Readonly<DriverInfo>> } Driver information obtained. 17161847f8eSopenharmony_ci * @throws { BusinessError } 201 - The permission check failed. 17261847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission denied. A non-system application cannot call a system API. 17361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types. 17461847f8eSopenharmony_ci * @throws { BusinessError } 26300001 - ExternalDeviceManager service exception. 17561847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 17661847f8eSopenharmony_ci * @systemapi 17761847f8eSopenharmony_ci * @since 12 17861847f8eSopenharmony_ci */ 17961847f8eSopenharmony_ci function queryDriverInfo(driverUid?: string): Array<Readonly<DriverInfo>>; 18061847f8eSopenharmony_ci 18161847f8eSopenharmony_ci /** 18261847f8eSopenharmony_ci * Enumerates the bus types. 18361847f8eSopenharmony_ci * 18461847f8eSopenharmony_ci * @enum { number } 18561847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 18661847f8eSopenharmony_ci * @since 10 18761847f8eSopenharmony_ci */ 18861847f8eSopenharmony_ci export enum BusType { 18961847f8eSopenharmony_ci /** 19061847f8eSopenharmony_ci * USB device type 19161847f8eSopenharmony_ci * 19261847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 19361847f8eSopenharmony_ci * @since 10 19461847f8eSopenharmony_ci */ 19561847f8eSopenharmony_ci USB = 1, 19661847f8eSopenharmony_ci } 19761847f8eSopenharmony_ci 19861847f8eSopenharmony_ci /** 19961847f8eSopenharmony_ci * Represents a device. 20061847f8eSopenharmony_ci * 20161847f8eSopenharmony_ci * @typedef Device 20261847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 20361847f8eSopenharmony_ci * @since 10 20461847f8eSopenharmony_ci */ 20561847f8eSopenharmony_ci interface Device { 20661847f8eSopenharmony_ci /** 20761847f8eSopenharmony_ci * Bus type of the device. 20861847f8eSopenharmony_ci * 20961847f8eSopenharmony_ci * @type { BusType } 21061847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 21161847f8eSopenharmony_ci * @since 10 21261847f8eSopenharmony_ci */ 21361847f8eSopenharmony_ci busType: BusType; 21461847f8eSopenharmony_ci 21561847f8eSopenharmony_ci /** 21661847f8eSopenharmony_ci * Device ID. 21761847f8eSopenharmony_ci * 21861847f8eSopenharmony_ci * @type { number } 21961847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 22061847f8eSopenharmony_ci * @since 10 22161847f8eSopenharmony_ci */ 22261847f8eSopenharmony_ci deviceId: number; 22361847f8eSopenharmony_ci 22461847f8eSopenharmony_ci /** 22561847f8eSopenharmony_ci * Description of the device. 22661847f8eSopenharmony_ci * 22761847f8eSopenharmony_ci * @type { string } 22861847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 22961847f8eSopenharmony_ci * @since 10 23061847f8eSopenharmony_ci */ 23161847f8eSopenharmony_ci description: string; 23261847f8eSopenharmony_ci } 23361847f8eSopenharmony_ci 23461847f8eSopenharmony_ci /** 23561847f8eSopenharmony_ci * Represents a USB device. 23661847f8eSopenharmony_ci * 23761847f8eSopenharmony_ci * @typedef USBDevice 23861847f8eSopenharmony_ci * @extends Device 23961847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 24061847f8eSopenharmony_ci * @since 10 24161847f8eSopenharmony_ci */ 24261847f8eSopenharmony_ci interface USBDevice extends Device { 24361847f8eSopenharmony_ci /** 24461847f8eSopenharmony_ci * Vendor ID. 24561847f8eSopenharmony_ci * 24661847f8eSopenharmony_ci * @type { number } 24761847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 24861847f8eSopenharmony_ci * @since 10 24961847f8eSopenharmony_ci */ 25061847f8eSopenharmony_ci vendorId: number; 25161847f8eSopenharmony_ci 25261847f8eSopenharmony_ci /** 25361847f8eSopenharmony_ci * Product ID. 25461847f8eSopenharmony_ci * 25561847f8eSopenharmony_ci * @type { number } 25661847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 25761847f8eSopenharmony_ci * @since 10 25861847f8eSopenharmony_ci */ 25961847f8eSopenharmony_ci productId: number; 26061847f8eSopenharmony_ci } 26161847f8eSopenharmony_ci 26261847f8eSopenharmony_ci /** 26361847f8eSopenharmony_ci * Driver of the remote device bound with <b>deviceId</b>. 26461847f8eSopenharmony_ci * 26561847f8eSopenharmony_ci * @typedef RemoteDeviceDriver 26661847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 26761847f8eSopenharmony_ci * @since 11 26861847f8eSopenharmony_ci */ 26961847f8eSopenharmony_ci interface RemoteDeviceDriver { 27061847f8eSopenharmony_ci /** 27161847f8eSopenharmony_ci * Device ID. 27261847f8eSopenharmony_ci * 27361847f8eSopenharmony_ci * @type { number } 27461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 27561847f8eSopenharmony_ci * @since 11 27661847f8eSopenharmony_ci */ 27761847f8eSopenharmony_ci deviceId: number; 27861847f8eSopenharmony_ci 27961847f8eSopenharmony_ci /** 28061847f8eSopenharmony_ci * Remote driver object. 28161847f8eSopenharmony_ci * 28261847f8eSopenharmony_ci * @type { rpc.IRemoteObject } 28361847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 28461847f8eSopenharmony_ci * @since 11 28561847f8eSopenharmony_ci */ 28661847f8eSopenharmony_ci remote: rpc.IRemoteObject; 28761847f8eSopenharmony_ci } 28861847f8eSopenharmony_ci 28961847f8eSopenharmony_ci /** 29061847f8eSopenharmony_ci * Represents information about a device interface descriptor. 29161847f8eSopenharmony_ci * 29261847f8eSopenharmony_ci * @typedef USBInterfaceDesc 29361847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 29461847f8eSopenharmony_ci * @systemapi 29561847f8eSopenharmony_ci * @since 12 29661847f8eSopenharmony_ci */ 29761847f8eSopenharmony_ci interface USBInterfaceDesc { 29861847f8eSopenharmony_ci /** 29961847f8eSopenharmony_ci * Interface number. 30061847f8eSopenharmony_ci * 30161847f8eSopenharmony_ci * @type { number } 30261847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 30361847f8eSopenharmony_ci * @systemapi 30461847f8eSopenharmony_ci * @since 12 30561847f8eSopenharmony_ci */ 30661847f8eSopenharmony_ci bInterfaceNumber: number; 30761847f8eSopenharmony_ci 30861847f8eSopenharmony_ci /** 30961847f8eSopenharmony_ci * Interface class code. 31061847f8eSopenharmony_ci * 31161847f8eSopenharmony_ci * @type { number } 31261847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 31361847f8eSopenharmony_ci * @systemapi 31461847f8eSopenharmony_ci * @since 12 31561847f8eSopenharmony_ci */ 31661847f8eSopenharmony_ci bClass: number; 31761847f8eSopenharmony_ci 31861847f8eSopenharmony_ci /** 31961847f8eSopenharmony_ci * Interface subclass code. 32061847f8eSopenharmony_ci * 32161847f8eSopenharmony_ci * @type { number } 32261847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 32361847f8eSopenharmony_ci * @systemapi 32461847f8eSopenharmony_ci * @since 12 32561847f8eSopenharmony_ci */ 32661847f8eSopenharmony_ci bSubClass: number; 32761847f8eSopenharmony_ci 32861847f8eSopenharmony_ci /** 32961847f8eSopenharmony_ci * Interface protocol. 33061847f8eSopenharmony_ci * 33161847f8eSopenharmony_ci * @type { number } 33261847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 33361847f8eSopenharmony_ci * @systemapi 33461847f8eSopenharmony_ci * @since 12 33561847f8eSopenharmony_ci */ 33661847f8eSopenharmony_ci bProtocol: number; 33761847f8eSopenharmony_ci } 33861847f8eSopenharmony_ci 33961847f8eSopenharmony_ci 34061847f8eSopenharmony_ci /** 34161847f8eSopenharmony_ci * Represents the device information. 34261847f8eSopenharmony_ci * 34361847f8eSopenharmony_ci * @typedef DeviceInfo 34461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 34561847f8eSopenharmony_ci * @systemapi 34661847f8eSopenharmony_ci * @since 12 34761847f8eSopenharmony_ci */ 34861847f8eSopenharmony_ci interface DeviceInfo { 34961847f8eSopenharmony_ci /** 35061847f8eSopenharmony_ci * Device ID. 35161847f8eSopenharmony_ci * 35261847f8eSopenharmony_ci * @type { number } 35361847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 35461847f8eSopenharmony_ci * @systemapi 35561847f8eSopenharmony_ci * @since 12 35661847f8eSopenharmony_ci */ 35761847f8eSopenharmony_ci deviceId: number; 35861847f8eSopenharmony_ci 35961847f8eSopenharmony_ci /** 36061847f8eSopenharmony_ci * Whether the device has a matched driver. 36161847f8eSopenharmony_ci * 36261847f8eSopenharmony_ci * @type { boolean } 36361847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 36461847f8eSopenharmony_ci * @systemapi 36561847f8eSopenharmony_ci * @since 12 36661847f8eSopenharmony_ci */ 36761847f8eSopenharmony_ci isDriverMatched: boolean; 36861847f8eSopenharmony_ci 36961847f8eSopenharmony_ci /** 37061847f8eSopenharmony_ci * Unique identifier of the driver. 37161847f8eSopenharmony_ci * 37261847f8eSopenharmony_ci * @type { ?string } 37361847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 37461847f8eSopenharmony_ci * @systemapi 37561847f8eSopenharmony_ci * @since 12 37661847f8eSopenharmony_ci */ 37761847f8eSopenharmony_ci driverUid?: string; 37861847f8eSopenharmony_ci } 37961847f8eSopenharmony_ci 38061847f8eSopenharmony_ci /** 38161847f8eSopenharmony_ci * Represents the USB device information. 38261847f8eSopenharmony_ci * 38361847f8eSopenharmony_ci * @typedef USBDeviceInfo 38461847f8eSopenharmony_ci * @extends DeviceInfo 38561847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 38661847f8eSopenharmony_ci * @systemapi 38761847f8eSopenharmony_ci * @since 12 38861847f8eSopenharmony_ci */ 38961847f8eSopenharmony_ci interface USBDeviceInfo extends DeviceInfo { 39061847f8eSopenharmony_ci /** 39161847f8eSopenharmony_ci * Vendor ID. 39261847f8eSopenharmony_ci * 39361847f8eSopenharmony_ci * @type { number } 39461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 39561847f8eSopenharmony_ci * @systemapi 39661847f8eSopenharmony_ci * @since 12 39761847f8eSopenharmony_ci */ 39861847f8eSopenharmony_ci vendorId: number; 39961847f8eSopenharmony_ci 40061847f8eSopenharmony_ci /** 40161847f8eSopenharmony_ci * Product ID. 40261847f8eSopenharmony_ci * 40361847f8eSopenharmony_ci * @type { number } 40461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 40561847f8eSopenharmony_ci * @systemapi 40661847f8eSopenharmony_ci * @since 12 40761847f8eSopenharmony_ci */ 40861847f8eSopenharmony_ci productId: number; 40961847f8eSopenharmony_ci 41061847f8eSopenharmony_ci /** 41161847f8eSopenharmony_ci * List of USB interface descriptors. 41261847f8eSopenharmony_ci * 41361847f8eSopenharmony_ci * @type { Array<Readonly<USBInterfaceDesc>> } 41461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 41561847f8eSopenharmony_ci * @systemapi 41661847f8eSopenharmony_ci * @since 12 41761847f8eSopenharmony_ci */ 41861847f8eSopenharmony_ci interfaceDescList: Array<Readonly<USBInterfaceDesc>>; 41961847f8eSopenharmony_ci } 42061847f8eSopenharmony_ci 42161847f8eSopenharmony_ci /** 42261847f8eSopenharmony_ci * Represents the driver information. 42361847f8eSopenharmony_ci * 42461847f8eSopenharmony_ci * @typedef DriverInfo 42561847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 42661847f8eSopenharmony_ci * @systemapi 42761847f8eSopenharmony_ci * @since 12 42861847f8eSopenharmony_ci */ 42961847f8eSopenharmony_ci interface DriverInfo { 43061847f8eSopenharmony_ci /** 43161847f8eSopenharmony_ci * Bus type of the device. 43261847f8eSopenharmony_ci * 43361847f8eSopenharmony_ci * @type { BusType } 43461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 43561847f8eSopenharmony_ci * @systemapi 43661847f8eSopenharmony_ci * @since 12 43761847f8eSopenharmony_ci */ 43861847f8eSopenharmony_ci busType: BusType; 43961847f8eSopenharmony_ci 44061847f8eSopenharmony_ci /** 44161847f8eSopenharmony_ci * Unique identifier of the driver. 44261847f8eSopenharmony_ci * 44361847f8eSopenharmony_ci * @type { string } 44461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 44561847f8eSopenharmony_ci * @systemapi 44661847f8eSopenharmony_ci * @since 12 44761847f8eSopenharmony_ci */ 44861847f8eSopenharmony_ci driverUid: string; 44961847f8eSopenharmony_ci 45061847f8eSopenharmony_ci /** 45161847f8eSopenharmony_ci * Driver name. 45261847f8eSopenharmony_ci * 45361847f8eSopenharmony_ci * @type { string } 45461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 45561847f8eSopenharmony_ci * @systemapi 45661847f8eSopenharmony_ci * @since 12 45761847f8eSopenharmony_ci */ 45861847f8eSopenharmony_ci driverName: string; 45961847f8eSopenharmony_ci 46061847f8eSopenharmony_ci /** 46161847f8eSopenharmony_ci * Driver version. 46261847f8eSopenharmony_ci * 46361847f8eSopenharmony_ci * @type { string } 46461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 46561847f8eSopenharmony_ci * @systemapi 46661847f8eSopenharmony_ci * @since 12 46761847f8eSopenharmony_ci */ 46861847f8eSopenharmony_ci driverVersion: string; 46961847f8eSopenharmony_ci 47061847f8eSopenharmony_ci /** 47161847f8eSopenharmony_ci * Driver size. 47261847f8eSopenharmony_ci * 47361847f8eSopenharmony_ci * @type { string } 47461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 47561847f8eSopenharmony_ci * @systemapi 47661847f8eSopenharmony_ci * @since 12 47761847f8eSopenharmony_ci */ 47861847f8eSopenharmony_ci driverSize: string; 47961847f8eSopenharmony_ci 48061847f8eSopenharmony_ci /** 48161847f8eSopenharmony_ci * Driver description. 48261847f8eSopenharmony_ci * 48361847f8eSopenharmony_ci * @type { string } 48461847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 48561847f8eSopenharmony_ci * @systemapi 48661847f8eSopenharmony_ci * @since 12 48761847f8eSopenharmony_ci */ 48861847f8eSopenharmony_ci description: string; 48961847f8eSopenharmony_ci } 49061847f8eSopenharmony_ci 49161847f8eSopenharmony_ci /** 49261847f8eSopenharmony_ci * Represents the USB driver information. 49361847f8eSopenharmony_ci * 49461847f8eSopenharmony_ci * @typedef USBDriverInfo 49561847f8eSopenharmony_ci * @extends DriverInfo 49661847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 49761847f8eSopenharmony_ci * @systemapi 49861847f8eSopenharmony_ci * @since 12 49961847f8eSopenharmony_ci */ 50061847f8eSopenharmony_ci interface USBDriverInfo extends DriverInfo { 50161847f8eSopenharmony_ci /** 50261847f8eSopenharmony_ci * IDs of supported products. 50361847f8eSopenharmony_ci * 50461847f8eSopenharmony_ci * @type { Array<number> } 50561847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 50661847f8eSopenharmony_ci * @systemapi 50761847f8eSopenharmony_ci * @since 12 50861847f8eSopenharmony_ci */ 50961847f8eSopenharmony_ci productIdList: Array<number>; 51061847f8eSopenharmony_ci 51161847f8eSopenharmony_ci /** 51261847f8eSopenharmony_ci * IDs of supported vendors. 51361847f8eSopenharmony_ci * 51461847f8eSopenharmony_ci * @type { Array<number> } 51561847f8eSopenharmony_ci * @syscap SystemCapability.Driver.ExternalDevice 51661847f8eSopenharmony_ci * @systemapi 51761847f8eSopenharmony_ci * @since 12 51861847f8eSopenharmony_ci */ 51961847f8eSopenharmony_ci vendorIdList: Array<number>; 52061847f8eSopenharmony_ci } 52161847f8eSopenharmony_ci} 52261847f8eSopenharmony_ci 52361847f8eSopenharmony_ciexport default deviceManager; 524