@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
TypeScript
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>;
}