Class TWABD_SessionMgr (unit WABD_Objects)

Inherits from

TComponent

Constructors


constructor Create(AOwner: TComponent);

************************************************************************ TWABD_SessionMgr


Functions

destructor Destroy;

Can only be one Session Mgr at a time

function OnFormSubmit(var ECB: TEXTENSION_CONTROL_BLOCK): string;


procedure AddToLog(const s: string);

We have an existing session

procedure CheckLogOff(Ses: TWABD_Session);

Trace0('After Destroy');

function CreateNewSession: string;


procedure DoDestroySession(Ses: TWABD_Session);

TRACE0('Garbage Thread terminated');

function FormatStatus: string;


procedure LogUserInfo(var ECB: TEXTENSION_CONTROL_BLOCK);


function RunExistingSession(const IdStr: string; InputList: TStrings): string;


Properties

property About : TWABDAbout


property CheckTimeoutInterval : integer


property GarbageCollection : boolean


Events

event OnCreateSession : TWABD_OnCreateSession


event OnDestroySession : TWABD_OnDestroySession


Variables

SessionList : TThreadList;


CreateTime : TDateTime;


DLLName : string;

Increment by 1 for each new session

FAbout : TWABDAbout;


FCheck : integer;


FCreate : TWABD_OnCreateSession;


FDestroy : TWABD_OnDestroySession;


FGarbage : boolean;

Interval to perform Garbage Collection (seconds

GarbageThrd : TGarbageThread;

True = perform Garbage collection

LogCS : TRTLCriticalSection;


LogStrings : TStringList;


NewSesID : integer;


SesMgrCS : TRTLCriticalSection;


StopEvent : THandle;



Constructors


constructor Create(AOwner: TComponent);

************************************************************************ TWABD_SessionMgr


Functions


destructor Destroy;

Can only be one Session Mgr at a time


function OnFormSubmit(var ECB: TEXTENSION_CONTROL_BLOCK): string;


procedure AddToLog(const s: string);

We have an existing session


procedure CheckLogOff(Ses: TWABD_Session);

Trace0('After Destroy');


function CreateNewSession: string;


procedure DoDestroySession(Ses: TWABD_Session);

TRACE0('Garbage Thread terminated');


function FormatStatus: string;


procedure LogUserInfo(var ECB: TEXTENSION_CONTROL_BLOCK);


function RunExistingSession(const IdStr: string; InputList: TStrings): string;


Properties


property About : TWABDAbout


property CheckTimeoutInterval : integer


property GarbageCollection : boolean


Events


event OnCreateSession : TWABD_OnCreateSession


event OnDestroySession : TWABD_OnDestroySession


Variables


SessionList : TThreadList;


CreateTime : TDateTime;


DLLName : string;

Increment by 1 for each new session


FAbout : TWABDAbout;


FCheck : integer;


FCreate : TWABD_OnCreateSession;


FDestroy : TWABD_OnDestroySession;


FGarbage : boolean;

Interval to perform Garbage Collection (seconds


GarbageThrd : TGarbageThread;

True = perform Garbage collection


LogCS : TRTLCriticalSection;


LogStrings : TStringList;


NewSesID : integer;


SesMgrCS : TRTLCriticalSection;


StopEvent : THandle;