MimosaEvents.mesa
Copyright Ó 1988, 1991 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) July 13, 1988 11:51:00 pm PDT
MimosaEvents: DEFINITIONS = BEGIN
EventsClass: TYPE = MACHINE DEPENDENT {
zoneReset, -- when MimZones.tempZone or MimZones.tempUZ are reset
relocate, -- when an Alloc table is relocated
startup, -- when Mimosa starts a command line
cleanup, -- when Mimosa ends a command line (or aborts)
startFile, -- when Mimosa starts processing a file (before Pass1)
endFile, -- when Mimosa ends processing a file
pass1, -- when Pass1 ends
pass2, -- when Pass2 ends
pass3, -- when Pass3 ends
pass4, -- when Pass4 ends
pass5, -- when Pass5 ends
pass6, -- when Pass6 ends
other1, -- some other kind of event
other2, -- some other kind of event
other3, -- some other kind of event
other4 (15) -- some other kind of event
};
Trigger: TYPE = PACKED ARRAY EventsClass OF BOOL;
nullTrigger: Trigger = ALL[FALSE];
fullTrigger: Trigger = ALL[TRUE];
Register: PROC [proc: Callback, class: EventsClass];
Registers a callback proc for the given single event class
RegisterSet: PROC [proc: Callback, trigger: Trigger];
Registers a callback proc for the given single event class
CauseEvent: PROC [class: EventsClass];
Causes a given event (with given subclass)
Callback: TYPE = PROC [class: EventsClass];
This is the type for the callback proc
END.