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