import { ILimitingHandler } from '@lenovo-software/lsa-clients-common'; import { IBlankScreenBackgroundImageRetriever } from '@lenovo-software/lsa-clients-common/dist/interfaces/limitingHandler'; import { BlankScreenParameters, WebLimitParams } from '@lenovo-software/lsa-clients-common/dist/models/limitingModels'; import { WebLimiter } from './webLimiting'; import { Logger } from '../../common/logger'; export class LimitingEventHandler implements ILimitingHandler { private static instance: LimitingEventHandler; private logger = Logger.getInstance(); public static getInstance(): LimitingEventHandler { if (!LimitingEventHandler.instance) { LimitingEventHandler.instance = new LimitingEventHandler(); } return LimitingEventHandler.instance; } /** * @override */ getBackgroundImageRetriever(): IBlankScreenBackgroundImageRetriever | null { // TODO: Method not implemented return null; } /** * @override */ async showBlankScreen(params: BlankScreenParameters): Promise { // TODO: Method not implemented } /** * @override */ async hideBlankScreen(): Promise { // TODO: Method not implemented } /** * @override */ async webLimitStart(params: WebLimitParams): Promise { this.logger.logMessage('LimitingEventHandler | webLimitStart'); return WebLimiter.getInstance().start(params); } /** * @override */ async webLimitStop(): Promise { this.logger.logMessage('LimitingEventHandler | webLimitStop'); return WebLimiter.getInstance().stop(); } }