Restructure UI server code to prepare it for issue #238
[e-mobility-charging-stations-simulator.git] / src / charging-station / ui-server / ui-services / UIServiceFactory.ts
CommitLineData
4198ad5c 1import AbstractUIService from './AbstractUIService';
675fa8e3 2import { ProtocolVersion } from '../../../types/UIProtocol';
f16356b9 3import UIService001 from './UIService001';
4198ad5c
JB
4import UIWebSocketServer from '../UIWebSocketServer';
5
6export default class UIServiceFactory {
7 private constructor() {
8 // This is intentional
9 }
10
e7aeea18
JB
11 public static getUIServiceImplementation(
12 version: ProtocolVersion,
675fa8e3 13 uiServer: UIWebSocketServer
e7aeea18 14 ): AbstractUIService | null {
4198ad5c
JB
15 switch (version) {
16 case ProtocolVersion['0.0.1']:
675fa8e3 17 return new UIService001(uiServer);
4198ad5c
JB
18 default:
19 return null;
20 }
21 }
22}