RoseEvents.Mesa
Last Edited by: Spreitzer, October 18, 1985 5:37:20 pm PDT
RoseEvents: CEDAR DEFINITIONS =
BEGIN
WatcherList: TYPE = LIST OF Watcher;
Watcher:
TYPE =
RECORD [
Notify: NotifyProc,
watcherData: REF ANY ← NIL];
NotifyProc: TYPE = PROC [event: ATOM, watched, watcherData, arg: REF ANY];
AddWatcher,
RemoveWatcher:
PROC [event:
ATOM, watcher: Watcher, watched:
REF
ANY ←
NIL];
watched may be all
When watched is a non-leaf RoseWire, the registration is splayed to the appropriate leaf RoseWire(s), and the NotifyProc will be called with watched=those leaf RoseWire(s).
all: REF ANY;
Notify:
PROC [event:
ATOM, watched:
REF
ANY ←
NIL, arg:
REF
ANY ←
NIL];
watched may not be all
END.