PressPrinter.mesa
Michael Plass, November 1, 1982 9:30 am
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: ROPE ← NIL
] 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.