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.

42 lines (41 loc) 1.36 kB
import { ILogObj, Logger } from 'tslog'; import { IMessage, IMessageHandler, OcppError, OcppRequest, OcppResponse } from '../..'; import { SystemConfig } from '../../config/types'; import { CallAction } from '../../ocpp/rpc/message'; import { IModule } from '../modules'; import { HandlerProperties } from '.'; /** * Abstract class implementing {@link IMessageHandler}. */ export declare abstract class AbstractMessageHandler implements IMessageHandler { /** * Fields */ protected _config: SystemConfig; protected _module?: IModule; protected _logger: Logger<ILogObj>; /** * Constructor * * @param config The system configuration. * @param logger [Optional] The logger to use. */ constructor(config: SystemConfig, 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>; }