DIRECTORY CD; CDEvents: CEDAR DEFINITIONS = BEGIN EventProc: TYPE = PROC [event: REF, design: CD.Design, x: REF] RETURNS [dont: BOOL_FALSE]; EventRegistration: TYPE = REF EventRegistrationRep; EventRegistrationRep: TYPE; RegisterEventType: PROC [eventName: REF] RETURNS [EventRegistration]; RegisterEventProc: PROC [event: REF, proc: EventProc, filter: CD.Technology_NIL]; ProcessEvent: PROC [ev: EventRegistration, design: CD.Design, x: REF_NIL, listenToDont: BOOL_FALSE] RETURNS [dont: BOOL]; END. êCDEvents.mesa a Chipndale module by Christian Jacobi September 16, 1983 2:11 pm last edited by Christian Jacobi November 21, 1983 3:05 pm --dont will abort (some) events and (sometimes) the remaining EventProcs --event is the event which caused the call --design onto which event happened --x parameter passed through from ProcessEvent, event-specific --Eventprocs must not be timeconsuming --may raise CD.Error[doubleRegistration] and others. --the EventRegistration is the key to call ProcessEvent --if ATOM are used for eventName, include them manual in the list --on file ... see the DF file for documentation --registers a procedure which is called each time a specific event occurs --the procedure might stop certain events with the dont result --if filter#NIL, proc is only called if event occurs on design of technology=filter --event must have been previously registered with RegisterEventType --called on certain events --can be called only if the EventRegistration is known ʘJšœ&™&Jšœ1™1Jšœ;™;J˜JšÏk œœ˜ JšÏnœœ œ˜š˜J˜š œ œœ œ œ œ˜?Jšœœœ˜JšœH™HJšœ*™*Jšœ"™"Jšœ>™>Jšœ&™&J˜—Jšœœœ˜3Jšœœ˜J˜šžœœ œœ˜EJšœ4™4Jšœ7™7JšœA™AJšœ/™/J˜—š žœœ œœ œ˜QJšœI™IJšœ>™>JšœS™SJšœC™CJ˜—š ž œœ!œ œœ˜JJšœœœ˜Jšœœ˜Jšœ™Jšœ6™6J˜——Jšœ˜J˜—…—y