@huddly/sdk-interfaces
Version:
Module for describing the Huddly SDK using interfaces
56 lines (55 loc) • 1.75 kB
TypeScript
/**
* Interface used to communicate with the physical device.
*
* @ignore
* @interface ITransport
*/
export default interface ITransport {
/**
* An instance of the discovered Huddly device.
*
* @type {*}
* @memberof ITransport
*/
device: any;
/**
* Prepares the device for communication (opening the device, claiming the interface/endpoints)
*
* @returns {Promise<void>} Returns a promise which resolves in case the device initialisation
* is completed, otherwise it rejects with an error message.
* @memberof ITransport
*/
init(): Promise<void>;
/**
* EventEmitter `on` method used to register event listeners.
*
* @param {string} message The message use to setup the listener for.
* @param {*} listener The listener handler.
* @memberof ITransport
*/
on(message: string, listener: any): any;
/**
* EventEmitter `removeListener` method used to remove an event listener.
*
* @param {string} message The message use to remove the listener for.
* @param {*} listener The listener handler.
* @memberof ITransport
*/
removeListener(message: string, listener: any): any;
/**
* A function similar to `removeListener` expect no listener handler is
* provided.
*
* @param {string} [message] Optional event listener name.
* @memberof ITransport
*/
removeAllListeners(message?: string): any;
/**
* Clears the communication channel, releases corresponding device interfaces
* and closes the device.
*
* @returns {Promise<any>} A promise representing the status of the close action.
* @memberof ITransport
*/
close(): Promise<any>;
}