timeline-state-resolver
Version:
Have timeline, control stuff
43 lines • 1.92 kB
TypeScript
import { DeviceOptionsBase } from 'timeline-state-resolver-types';
import { BaseRemoteDeviceIntegration } from './remoteDeviceInstance';
import { DeviceOptionsAnyInternal } from '../conductor';
import { EventEmitter } from 'eventemitter3';
import { DeviceInstanceEvents } from './DeviceInstance';
export type ConnectionManagerEvents = ConnectionManagerIntEvents & MappedDeviceEvents;
export interface ConnectionManagerIntEvents {
info: [info: string];
warning: [warning: string];
error: [context: string, err?: Error];
debug: [...debug: any[]];
connectionAdded: [id: string, container: BaseRemoteDeviceIntegration<DeviceOptionsBase<any>>];
connectionInitialised: [id: string];
connectionRemoved: [id: string];
}
export type MappedDeviceEvents = {
[T in keyof DeviceInstanceEvents as `connectionEvent:${T}`]: [string, ...DeviceInstanceEvents[T]];
};
export declare class ConnectionManager extends EventEmitter<ConnectionManagerEvents> {
private _config;
private _connections;
private _updating;
private _connectionAttempts;
private _nextAttempt;
/**
* Set the config options for all connections
*/
setConnections(connectionsConfig: Record<string, DeviceOptionsAnyInternal>): void;
getConnections(includeUninitialized?: boolean): Array<BaseRemoteDeviceIntegration<DeviceOptionsBase<any>>>;
getConnection(connectionId: string, includeUninitialized?: boolean): BaseRemoteDeviceIntegration<DeviceOptionsBase<any>> | undefined;
/**
* Iterate over config and check that the existing connection has the right config, if
* not... recreate it
*/
private _updateConnections;
private executeOperation;
private createConnection;
private deleteConnection;
private setDebugForConnection;
private _handleConnectionInitialisation;
private _setupDeviceListeners;
}
//# sourceMappingURL=ConnectionManager.d.ts.map