- public registerWSonOpenListener(listener: (event: Event) => void) {
- this.ws.addEventListener('open', listener)
+ public setConfiguration(uiServerConfiguration: UIServerConfigurationSection): void {
+ if (this.ws?.readyState === WebSocket.OPEN) {
+ this.ws.close()
+ delete this.ws
+ }
+ this.uiServerConfiguration = uiServerConfiguration
+ this.openWS()
+ }
+
+ public registerWSEventListener<K extends keyof WebSocketEventMap>(
+ event: K,
+ listener: (event: WebSocketEventMap[K]) => void,
+ options?: boolean | AddEventListenerOptions
+ ) {
+ this.ws?.addEventListener(event, listener, options)
+ }
+
+ public unregisterWSEventListener<K extends keyof WebSocketEventMap>(
+ event: K,
+ listener: (event: WebSocketEventMap[K]) => void,
+ options?: boolean | AddEventListenerOptions
+ ) {
+ this.ws?.removeEventListener(event, listener, options)
+ }
+
+ public async simulatorState(): Promise<ResponsePayload> {
+ return this.sendRequest(ProcedureName.SIMULATOR_STATE, {})