UNPKG

@huddly/device-api-usb

Version:

Huddly SDK device api which uses node-usb wrapper responsible for handling the transport layer of the communication and discovering the physical device/camera

46 lines (45 loc) 1.66 kB
/// <reference types="node" /> import { usb } from 'usb'; import EventEmitter from 'events'; import IDeviceDiscovery from '@huddly/sdk-interfaces/lib/interfaces/IDeviceDiscovery'; import HuddlyHEX from '@huddly/sdk-interfaces/lib/enums/HuddlyHex'; export interface UsbDevice { id: string; busNumber: number; deviceAddress: number; portNumbers: Array<number>; interfaces: any; serialNumber: string; productName: string; productId: number; vendorId: number; } export default class DeviceDiscoveryManager implements IDeviceDiscovery { private readonly className; private attachedDevices; private eventEmitter; private pidsToIgnore; constructor(pidsToIgnore?: HuddlyHEX[]); private newDeviceAttached; private newDeviceDetached; private isDeviceWithUUIDCached; get cachedDevices(): Array<UsbDevice>; generateUsbUniqueId(props: { usbBusNumber: number; usbDeviceAddress: number; usbPortNumbers: Array<Number>; }): string; getDeviceUUID(device: usb.Device): string; fetchAndPopulateDeviceParams(device: usb.Device): Promise<boolean>; registerForHotplugEvents(eventEmitter: EventEmitter): void; /** * Helper method for aiding unit testing of device list feature * * @return {*} {usb.Device[]} A list of usb devices returned by node-usb library * @memberof DeviceDiscoveryManager */ getUnfilteredDeviceList(): usb.Device[]; deviceList(doEmitNewDevices?: boolean): Promise<usb.Device[]>; getDevice(serialNumber?: string | undefined): Promise<usb.Device | undefined>; isValidHuddlyDevice(device: any): boolean; }