<<>> <> <> <> <> <> <> <<>> DIRECTORY IO, RefTab, Rope, SimpleFeedback; FeedbackConcreteTypes: CEDAR DEFINITIONS = BEGIN OPEN SimpleFeedback; MsgRouter: TYPE = REF MsgRouterObj; MsgRouterObj: TYPE = RECORD [ c2h: RefTab.Ref--MsgClass -> MsgHandler-- ¬ NIL, defaultHandler: MsgHandler, on: BOOL ¬ TRUE ]; MsgHandler: TYPE ~ REF MsgHandlerObj; MsgHandlerObj: TYPE ~ RECORD [ PutFL: PROC [mh: MsgHandler, msgType: MsgType, msgClass: MsgClass, format: Rope.ROPE, list: LIST OF IO.Value ¬ NIL], ClearHerald: PROC [mh: MsgHandler, msgClass: MsgClass], Blink: PROC [mh: MsgHandler, msgClass: MsgClass], data: REF ANY ¬ NIL]; END.