<<>> <> <> <> <> <> <<>> 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 [ PutF: PROC [mh: MsgHandler, msgType: MsgType, msgClass: MsgClass, format: Rope.ROPE, v1, v2, v3, v4, v5: IO.Value _ [null[]] ], ClearHerald: PROC [mh: MsgHandler, msgClass: MsgClass], Blink: PROC [mh: MsgHandler, msgClass: MsgClass], data: REF ANY _ NIL]; END.