5061ed78d854b066e05e813a5d6972ad2f8c0853
[e-mobility-charging-stations-simulator.git] / src / charging-station / ui-server / ui-services / UIService001.ts
1 import {
2 ProcedureName,
3 ProtocolRequestHandler,
4 ProtocolVersion,
5 RequestPayload,
6 } from '../../../types/UIProtocol';
7 import {
8 BroadcastChannelProcedureName,
9 BroadcastChannelRequestPayload,
10 } from '../../../types/WorkerBroadcastChannel';
11 import { AbstractUIServer } from '../AbstractUIServer';
12 import AbstractUIService from './AbstractUIService';
13
14 export default class UIService001 extends AbstractUIService {
15 constructor(uiServer: AbstractUIServer) {
16 super(uiServer, ProtocolVersion['0.0.1']);
17 this.requestHandlers.set(
18 ProcedureName.START_TRANSACTION,
19 this.handleStartTransaction.bind(this) as ProtocolRequestHandler
20 );
21 this.requestHandlers.set(
22 ProcedureName.STOP_TRANSACTION,
23 this.handleStopTransaction.bind(this) as ProtocolRequestHandler
24 );
25 this.requestHandlers.set(
26 ProcedureName.START_CHARGING_STATION,
27 this.handleStartChargingStation.bind(this) as ProtocolRequestHandler
28 );
29 this.requestHandlers.set(
30 ProcedureName.STOP_CHARGING_STATION,
31 this.handleStopChargingStation.bind(this) as ProtocolRequestHandler
32 );
33 this.requestHandlers.set(
34 ProcedureName.OPEN_CONNECTION,
35 this.handleOpenConnection.bind(this) as ProtocolRequestHandler
36 );
37 this.requestHandlers.set(
38 ProcedureName.CLOSE_CONNECTION,
39 this.handleCloseConnection.bind(this) as ProtocolRequestHandler
40 );
41 }
42
43 private handleStartTransaction(uuid: string, payload: RequestPayload): void {
44 this.uiServiceWorkerBroadcastChannel.sendRequest([
45 uuid,
46 BroadcastChannelProcedureName.START_TRANSACTION,
47 payload as BroadcastChannelRequestPayload,
48 ]);
49 }
50
51 private handleStopTransaction(uuid: string, payload: RequestPayload): void {
52 this.uiServiceWorkerBroadcastChannel.sendRequest([
53 uuid,
54 BroadcastChannelProcedureName.STOP_TRANSACTION,
55 payload as BroadcastChannelRequestPayload,
56 ]);
57 }
58
59 private handleStartChargingStation(uuid: string, payload: RequestPayload): void {
60 this.uiServiceWorkerBroadcastChannel.sendRequest([
61 uuid,
62 BroadcastChannelProcedureName.START_CHARGING_STATION,
63 payload as BroadcastChannelRequestPayload,
64 ]);
65 }
66
67 private handleStopChargingStation(uuid: string, payload: RequestPayload): void {
68 this.uiServiceWorkerBroadcastChannel.sendRequest([
69 uuid,
70 BroadcastChannelProcedureName.STOP_CHARGING_STATION,
71 payload as BroadcastChannelRequestPayload,
72 ]);
73 }
74
75 private handleOpenConnection(uuid: string, payload: RequestPayload): void {
76 this.uiServiceWorkerBroadcastChannel.sendRequest([
77 uuid,
78 BroadcastChannelProcedureName.OPEN_CONNECTION,
79 payload as BroadcastChannelRequestPayload,
80 ]);
81 }
82
83 private handleCloseConnection(uuid: string, payload: RequestPayload): void {
84 this.uiServiceWorkerBroadcastChannel.sendRequest([
85 uuid,
86 BroadcastChannelProcedureName.CLOSE_CONNECTION,
87 payload as BroadcastChannelRequestPayload,
88 ]);
89 }
90 }