UNPKG

@huddly/sdk-interfaces

Version:

Module for describing the Huddly SDK using interfaces

26 lines (25 loc) 1.25 kB
/// <reference types="node" /> import EventEmitter from 'events'; import IHuddlyDeviceAPI from './IHuddlyDeviceAPI'; import IDeviceManager from './IDeviceManager'; /** * Factory that is used to create device * @ignore * @export * @interface iDeviceFactory */ export default interface IDeviceFactory { /** * Returns appropriate IDeviceManager with provided transport for the provided * devInstance object. * @param {number} productId A usb device product id to distinct betweern different huddly products * @param {IHuddlyDeviceAPI} preferredDeviceApi The main IHuddlyDeviceAPI used for communicating * with the camera * @param {Array<IHuddlyDeviceAPI>} secondaryDeviceApis Fallback IHuddlyDeviceAPI-s in case the * main interface does not work * @param {*} devInstance An object that represents the usb device which is discovered * on the concrete implementation of the IHuddlyDeviceApi * @returns {Promise<IDeviceManager>} Returns a concrete implementation of the IDeviceManger */ getDevice(productId: number, preferredDeviceApi: IHuddlyDeviceAPI, secondaryDeviceApis: Array<IHuddlyDeviceAPI>, devInstance: any, cameraDiscoveryEmitter: EventEmitter): Promise<IDeviceManager>; }