PressPrinter.mesa
Michael Plass, November 1, 1982 9:30 am
DIRECTORY
IO,
Rope;
PressPrinter: CEDAR DEFINITIONS =
BEGIN
STREAM: TYPE = IO.STREAM;
ROPE: TYPE = Rope.ROPE;
Handle: TYPE = REF PressPrinterRec;
PressPrinterRec: TYPE;
State: TYPE = {queued, opening, serverBusy, serverTimeout, serverTrouble, transmitting, aborted, unableToOpenFile, invalidPressFile, done};
CurrentState: PROCEDURE [Handle] RETURNS [State];
machine readable indication of the current state of things
CurrentStateMessage: PROCEDURE [Handle] RETURNS [ROPE];
human readable indication of any unusual situation
CurrentProgress: PROCEDURE [Handle] RETURNS [fractionOfFileTransmitted: REAL];
indicates how much of the file has been sent
ProgressProc: TYPE = PROCEDURE [handle: Handle];
Called at various intervals, whenever something interesting happens.
Abort: PROCEDURE [Handle];
The ProgressProc may call this to abort the transmission
IsAPressFile: PROCEDURE [fileName: ROPE] RETURNS [BOOLEAN];
SendPressFile: PROCEDURE [
fileName: ROPE,
server: ROPE,
copies: INT ← 1,
progressProc: ProgressProc ← NIL,
userName: ROPENIL
] RETURNS [Handle];
END.
Created by Michael Plass, June 15, 1982 3:00 pm
Michael Plass, June 29, 1982 4:04 pm. Converted for Cedar 3.2.
Michael Plass, July 8, 1982 12:49 pm. Added IsAPressFile.
Michael Plass, July 8, 1982 2:15 pm. Added userName to SendPressFile.
Michael Plass, November 1, 1982 9:30 am. Converted to Tioga formatting, CEDARized interface.