Fired to check engine parameters (timeliness, etc.).
type TCheckEngineEvent = procedure ( Sender: TObject; EngineId: String; EngineIdB: TBytes; EngineBoots: Integer; EngineTime: Integer; const User: String; SecurityLevel: Integer; const RemoteAddress: String; RemotePort: Integer; IsNew: Boolean; var Accept: Boolean ) of Object;
property OnCheckEngine: TCheckEngineEvent read FOnCheckEngine write FOnCheckEngine;
The Accept parameter determines if the engine will be accepted or not. If you set Accept to False prior to exiting the event, the processing on the message will stop and a BadPacket event will be fired.
The default value of Accept is True if and only if:
a) the engine already exists in the internal authentication cache (the IsNew parameter is False) and the timeliness has been verified;
b) the engine does not exist in the internal authentication cache (the IsNew parameter is True), but the packet has been authenticated by the component (SecurityLevel >= 1).
In all other cases, the default value for Accept is False, and you are responsible for accepting or not accepting the engine based on other considerations.
If Accept is true upon event exit, then:
a) if the engine already exists in the internal authentication cache, its time is updated to reflect the new time and the processing of the packet continues;
b) if the engine does not exist in the internal authentication cache, it is added there and if User is authenticated, the User will be added too.