X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcharging-station%2FWebSocketServices%2Fui%2FAbstractUIService.ts;h=d8c61861c63995b319734cd0b61aa1985e354dac;hb=ee0f106b09f38b1561d970ea4377eb199389298e;hp=7a078bc2418cf048a199937e3341e10938fe0196;hpb=3b04a25c2969e6f6d60c4b394656863673614e88;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/WebSocketServices/ui/AbstractUIService.ts b/src/charging-station/WebSocketServices/ui/AbstractUIService.ts index 7a078bc2..d8c61861 100644 --- a/src/charging-station/WebSocketServices/ui/AbstractUIService.ts +++ b/src/charging-station/WebSocketServices/ui/AbstractUIService.ts @@ -1,12 +1,23 @@ -import { ProtocolCommand } from '../../../types/UIProtocol'; +import { ProtocolCommand, ProtocolVersion } from '../../../types/UIProtocol'; + import WebSocketServer from '../../WebSocketServer'; export default abstract class AbstractUIService { + public readonly chargingStations: Set; protected readonly webSocketServer: WebSocketServer; constructor(webSocketServer: WebSocketServer) { + this.chargingStations = new Set(); this.webSocketServer = webSocketServer; } - abstract handleMessage(command: ProtocolCommand, payload: Record): Promise; + protected buildProtocolMessage( + version: ProtocolVersion, + command: ProtocolCommand, + payload: Record, + ): string { + return JSON.stringify([version, command, payload]); + } + + abstract handleMessage(version: ProtocolVersion, command: ProtocolCommand, payload: Record): Promise; }