<> <> DIRECTORY ViewerClasses USING [NotifyProc, Viewer]; ViewerInputQueue: CEDAR DEFINITIONS = BEGIN Queue: TYPE = REF QueueObj; QueueObj: TYPE; Action: TYPE = RECORD [ notify: ViewerClasses.NotifyProc, viewer: ViewerClasses.Viewer, list: LIST OF REF ANY ]; Create: PROC [pushModel: BOOL _ TRUE] RETURNS [Queue]; <> <<>> <<>> EnQueue: PROC [q: Queue, action: Action]; <> <<>> DequeueAction: PROC [q: Queue] RETURNS [ViewerInputQueue.Action]; <> Flush: PROC [q: Queue, proc: PROC[Action]_ NIL]; <> END.