@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
30 lines (29 loc) • 1.54 kB
TypeScript
/// <reference types="node" />
import IHuddlyDeviceAPI from '@huddly/sdk-interfaces/lib/interfaces/IHuddlyDeviceAPI';
import IUVCControlAPI from '@huddly/sdk-interfaces/lib/interfaces/IUVCControlApi';
import ITransport from '@huddly/sdk-interfaces/lib/interfaces/ITransport';
import IDeviceDiscovery from '@huddly/sdk-interfaces/lib/interfaces/IDeviceDiscovery';
import DeviceApiOpts from '@huddly/sdk-interfaces/lib/interfaces/IDeviceApiOpts';
import HuddlyHEX from '@huddly/sdk-interfaces/lib/enums/HuddlyHex';
import NodeUsbTransport from './transport';
import { EventEmitter } from 'events';
import DeviceDiscoveryManager from './manager';
import { usb } from 'usb';
export declare const defaultPidsToIgnore: HuddlyHEX[];
export default class HuddlyDeviceAPIUSB implements IHuddlyDeviceAPI {
private readonly className;
eventEmitter: EventEmitter;
deviceDiscoveryManager: DeviceDiscoveryManager;
maxSearchRetries: Number;
alwaysRetry: boolean;
constructor(opts?: DeviceApiOpts);
initialize(): void;
registerForHotplugEvents(eventEmitter: EventEmitter): void;
getDeviceDiscoveryAPI(): Promise<IDeviceDiscovery>;
getValidatedTransport(device: usb.Device): Promise<ITransport>;
getTransport(device: usb.Device): Promise<NodeUsbTransport>;
isUVCControlsSupported(device: usb.Device): Promise<boolean>;
getUVCControlAPIForDevice(device: usb.Device): Promise<IUVCControlAPI>;
isHIDSupported(device: usb.Device): Promise<boolean>;
getHIDAPIForDevice(device: usb.Device): Promise<any>;
}