XNSPSCommander.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Tim Diebert: April 10, 1987 8:27:29 am PDT
DIRECTORY
IO USING [STREAM],
Rope USING [ROPE];
XNSPSCommander: CEDAR DEFINITIONS = BEGIN
ROPE: TYPE ~ Rope.ROPE;
STREAM: TYPE ~ IO.STREAM;
Rubout: ERROR;
GetID: PROC [in, out: STREAM, default: ROPE, init: ROPENIL, echo: BOOLTRUE]
RETURNS
[id: ROPE, c: CHAR];
CommandList: TYPE = LIST OF CommandInfo;
CommandProc: TYPE = PROC [in, out: STREAM];
CommandInfo: TYPE = RECORD [commandProc: CommandProc, fullName: ROPENIL];
RegisterCommand: PROC [info: CommandInfo];
Registers a new command. This registry is NOT protected against concurrent access.
GetCommandList: PROC RETURNS [CommandList];
GetCommand: PROC [in, out: STREAM] RETURNS [found: CommandInfo];
GetArg: PROC [in, out: STREAM, prompt, default: ROPE, help: PROC]
RETURNS [value: ROPENIL];
Confirm: PROC [in, out: STREAM] RETURNS [BOOL];
GetNumber: PROC [in, out: STREAM, default: INT, max: INTLAST[INT], prompt, help: ROPE] RETURNS [size: INT ← 0];
TalkToUser: PROC[in, out: STREAM];
END.