// Copyright )1997 Easter-eggs. All Rights Reserved. DefConst('kEEEngineUnitName, "EEEngine"); DefConst('kEEEngineUnitString, "Engine:Eggs"); DefConst('kEEEngineUnitSymbol, Intern(kEEEngineUnitString)); DefConst('kEEEngineToolboxSymbol, Intern("toolbox:" & kEEEngineUnitString)); DefConst('kEEEngineMajorVersion, 1); DefConst('kEEEngineMinorVersion, 0); DefConst('kEEEngineVersionString, kEEEngineMajorVersion & $. & kEEEngineMinorVersion); DefConst('kEEEngineUnitDeclaration, { EEStartupEngine: 0, eeState: 1, eeStateMachine: 2, eeTool: 3, eeEndpointTool: 4, eeConnectedEndpointTool: 5, }); DeclareUnit(kEEEngineUnitSymbol, kEEEngineMajorVersion, kEEEngineMinorVersion, kEEEngineUnitDeclaration); if kAppSymbol <> kEEEngineUnitSymbol then begin DeclareGlobalFn('ImpureUnitReference, 2); DefGlobalFn('ImpureUnitReference, constantFunctions.UnitReference); foreach slot, value in kEEEngineUnitDeclaration do DefConst(slot, ImpureUnitReference(kEEEngineUnitSymbol, slot)); end; DefConst('kCancellingStatusString, if language = 'french then "Annulation" else "Cancelling"); DefConst('GetEEEngineTool, func(symbol) begin local toolbox := GetGlobalVar(kEEEngineToolboxSymbol); return if toolbox then toolbox.(symbol); end); DefConst('RegEEEngineTool, func(symbol, tool) begin if not GlobalVarExists(kEEEngineToolboxSymbol) then DefGlobalVar(kEEEngineToolboxSymbol, {}); GetGlobalVar(kEEEngineToolboxSymbol).(EnsureInternal(symbol)) := tool; end); DefConst('UnRegEEEngineTool, func(symbol) begin if GlobalVarExists(kEEEngineToolboxSymbol) then begin local toolbox := GetGlobalVar(kEEEngineToolboxSymbol); RemoveSlot(toolbox, symbol); if Length(toolbox) = 0 then UnDefGlobalVar(kEEEngineToolboxSymbol); end; end);