SimpleFeedbackImpl.mesa
Copyright Ó 1990 by Xerox Corporation. All rights reserved.
Bier, May 1, 1990 11:02 pm PDT
Last tweaked by Mike Spreitzer on May 3, 1990 7:49:44 am PDT
Contents: The implementations of the routines in SimpleFeedback.mesa are implemented here (instead of in FeedbackImpl) so that the procedure names Append, PutF, Blink, and ClearHerald can refer to routines that take router names in SimpleFeedback.mesa, while they refer to routines that take routers in Feedback.mesa. This allows short names to be used everywhere.
DIRECTORY
Feedback, IO, Rope, SimpleFeedback;
SimpleFeedbackImpl: CEDAR PROGRAM
IMPORTS Feedback
EXPORTS SimpleFeedback = BEGIN
MsgType: TYPE = SimpleFeedback.MsgType;
MsgClass: TYPE ~ SimpleFeedback.MsgClass;
MsgRouter: TYPE ~ Feedback.MsgRouter;
Append: PUBLIC PROC [routerName: ATOM, msgType: MsgType, msgClass: MsgClass, msg: Rope.ROPE] = {
router: MsgRouter ← Feedback.EnsureRouter[routerName];
Feedback.Append[router, msgType, msgClass, msg];
};
PutF: PUBLIC PROC [routerName: ATOM, msgType: MsgType, msgClass: MsgClass, format: Rope.ROPENIL, v1, v2, v3, v4, v5: IO.Value ← [null[]] ] = {
router: MsgRouter ← Feedback.EnsureRouter[routerName];
Feedback.PutF[router, msgType, msgClass, format, v1, v2, v3, v4, v5];
};
Blink: PUBLIC PROC [routerName: ATOM, msgClass: MsgClass ← $All] = {
router: MsgRouter ← Feedback.EnsureRouter[routerName];
Feedback.Blink[router, msgClass];
};
ClearHerald: PUBLIC PROC [routerName: ATOM, msgClass: MsgClass ← $All] = {
router: MsgRouter ← Feedback.EnsureRouter[routerName];
Feedback.ClearHerald[router, msgClass];
};
SetRouterOn: PUBLIC PROC [routerName: ATOM, on: BOOL] = {
router: MsgRouter ← Feedback.EnsureRouter[routerName];
Feedback.SetRouterOn[router, on];
};
GetRouterOn: PUBLIC PROC [routerName: ATOM] RETURNS [on: BOOL] = {
router: MsgRouter ← Feedback.EnsureRouter[routerName];
RETURN Feedback.GetRouterOn[router];
};
END.