<> <> <> <> <> <> <<>> DIRECTORY IO, Rope; SimpleFeedback: CEDAR DEFINITIONS = BEGIN <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> MsgType: TYPE = {oneLiner, begin, middle, end}; <> MsgClass: TYPE ~ ATOM; <> <> <<1. to the place the client has explicitly indicated output to that pair should go, or, in the absence of such explicit direction,>> <<2. to the default place for that router, if the client has indicated one, otherwise>> <<3. to the global default, which is always reasonable.>> <> Append: PROC [routerName: ATOM, msgType: MsgType, msgClass: MsgClass, msg: Rope.ROPE]; <> PutF: PROC [routerName: ATOM, msgType: MsgType, msgClass: MsgClass, format: Rope.ROPE _ NIL, v1, v2, v3, v4, v5: IO.Value _ [null[]] ]; <> Blink: PROC [routerName: ATOM, msgClass: MsgClass]; <> ClearHerald: PROC [routerName: ATOM, msgClass: MsgClass]; <> <<>> SetRouterOn: PROC [routerName: ATOM, on: BOOL]; <> GetRouterOn: PROC [routerName: ATOM] RETURNS [on: BOOL]; <> END.