PSAsyncMsg.mesa
Copyright (C) Xerox Corporation 1983, 1984, 1985. All rights reserved.
Last edited by Jacks 16-Jul-85 6:35:39
Tim Diebert: December 1, 1986 10:22:48 am PST
<<Module includes type defs for passing official messages to clients and procs for displaying unofficial asynchronous messages (i.e. unsupported messages which are not in the message file). PSAsyncMsg is used by internal PS interfaces and PSCommand clients.>>
DIRECTORY
NSString USING [nullString, String],
XMessage USING [Handle, MsgKey, StringArray];
PSAsyncMsg: CEDAR DEFINITIONS = BEGIN
DEFINITIONS FOR PASSING OFFICIAL ASYNCHRONOUS MESSAGES TO CLIENTS:
Msg: TYPE = RECORD [
domain: XMessage.Handle,
key: XMessage.MsgKey
];
nullMsg: Msg = [domain: NIL, key: 0];
InsertArray: TYPE = REF InsertSeqRep;
InsertSeqRep: TYPE = RECORD [data: SEQUENCE len: CARDINAL OF Insert];
nullInsertArray: InsertArray = NIL;
<<Defines ordered strings (by message key or explicitly) to be inserted into message template:>>
Insert: TYPE = RECORD [
m: Msg ← nullMsg,
s: NSString.String ← NSString.nullString
];
Proc: TYPE = PROCEDURE [msg: Msg, insertArray: InsertArray ← nullInsertArray];
'msg' defines the asynchronous message by message key
'insertArray' defines messages (by key) and/or strings for
insertion into the 'msg' template; if 'insertArray' is null,
'msg' is not a template and should be displayed as is.
<<PS clients register asynchronous message procs of this type via PSCommand if they wish to receive asynchronous messages. PS subsystems (decomposer, marker, etc.) call procs of this type provided to them at init to pass official asynchronous messages to PSCommand. PSCommand in turn passes asynchronous messages to all clients who have registered asynchronous message procs. This procedure definition is thus used by internal and external PS interfaces.>>
DEFINITIONS FOR DISPLAYING UNOFFICIAL ASYNCHRONOUS MESSAGES:
PutString: PROCEDURE [string: NSString.String];
PutMesaString: PROCEDURE [mesaString: REF TEXT];
Expand1AndPutString: PROCEDURE [template, sInsert: NSString.String];
ExpandArrayAndPutString: PROCEDURE [template: NSString.String,
stringArray: REF XMessage.StringArray];
END.
LOG when - who - want
6-Dec-83 10:43:22 - Jacks - Created.
13-Dec-83 16:34:11 - Jacks - Added AsyncMsgProc.
14-Jun-85 16:55:56 - Jacks - Added copyright notice.
16-Jul-85 6:35:35 - Jacks - Updated to XMessage.