TeaWeb/shared/js/connection/ConnectionFactory.ts

20 lines
643 B
TypeScript

import {AbstractServerConnection} from "../connection/ConnectionBase";
import {ConnectionHandler} from "../ConnectionHandler";
export interface ServerConnectionFactory {
create(client: ConnectionHandler) : AbstractServerConnection;
destroy(instance: AbstractServerConnection);
}
let factoryInstance: ServerConnectionFactory;
export function setServerConnectionFactory(factory: ServerConnectionFactory) {
factoryInstance = factory;
}
export function getServerConnectionFactory() : ServerConnectionFactory {
if(!factoryInstance) {
throw "server connection factory hasn't been set";
}
return factoryInstance;
}