UNPKG

@citrineos/base

Version:

The base module for OCPP v2.0.1 including all interfaces. This module is not intended to be used directly, but rather as a dependency for other modules.

44 lines (43 loc) 1.49 kB
import type { ILogObj } from 'tslog'; import { Logger } from 'tslog'; import type { IMessage } from './Message.js'; import type { IMessageHandler } from './MessageHandler.js'; import { OcppError } from '../../ocpp/rpc/message.js'; import type { OcppRequest, OcppResponse } from '../../ocpp/internal-types.js'; import type { CallAction } from '../../ocpp/rpc/message.js'; import type { IModule } from '../modules/Module.js'; import type { HandlerProperties } from '../messages/internal-types.js'; /** * Abstract class implementing {@link IMessageHandler}. */ export declare abstract class AbstractMessageHandler implements IMessageHandler { /** * Fields */ protected _module?: IModule; protected _logger: Logger<ILogObj>; /** * Constructor * * @param config The system configuration. * @param logger [Optional] The logger to use. */ constructor(logger?: Logger<ILogObj>, module?: IModule); /** * Getter & Setter */ get module(): IModule | undefined; set module(value: IModule | undefined); /** * Methods */ handle(message: IMessage<OcppRequest | OcppResponse | OcppError>, props?: HandlerProperties): Promise<void>; /** * Abstract Methods */ abstract subscribe(identifier: string, actions?: CallAction[], filter?: { [k: string]: string; }): Promise<boolean>; abstract unsubscribe(identifier: string): Promise<boolean>; abstract shutdown(): Promise<void>; }