ForwardingControl.mesa
Copyright (C) Xerox Corporation 1984, 1985, 1986. All rights reserved.
Last edited by Jacks 16-Jul-85 8:13:49
Tim Diebert: October 23, 1986 4:37:53 pm PDT
<<This interface is used to control the forwarding of documents to another Print Service.>>
DIRECTORY
NSString USING [String],
PrintingTypes USING [Option],
PrintQueue USING [ObjectStatus],
Process USING [Priority],
PSAsyncMsg USING [Proc],
TargetPSStatus USING [Communication],
XNS USING [Address];
ForwardingControl: CEDAR DEFINITIONS = BEGIN
TraceLevel: TYPE = {none, terse, verbose};
WaitChoice: TYPE = {wait, dontWait};
CancelProc: TYPE = PROCEDURE [docName: NSString.String,
docQueueStatus: PrintQueue.ObjectStatus];
Procedures
Init: PROCEDURE [currentOption: PrintingTypes.Option, priority: Process.Priority,
putAsyncMsgFromKey: PSAsyncMsg.Proc];
called only once
Start: PROCEDURE;
Enables forwarding and returns.
Stop: PROCEDURE [status: PrintQueue.ObjectStatus,
canceledWhileForwarding: CancelProc ← NIL];
Disables forwarding and returns; document in progress is given the status specified and put on the appropriate queue. If the document is put on the aborted queue, the cancel proc is called.
Stopped: PROCEDURE [wither: WaitChoice ← dontWait] RETURNS [BOOLEAN];
IF wither=wait, returns TRUE when forwarding is stopped.
IF wither=dontWait, return immediately.
SetTargetPrintService: PROCEDURE [target: XNS.Address];
Status: PROCEDURE RETURNS [
forwarding: BOOLEAN, --returns TRUE if forwarding in progress
forwardingStatus: TargetPSStatus.Communication]; --valid if forwarding = TRUE
ModifyTraceLevel: PROCEDURE [trace: TraceLevel];
END. -- of ForwardingControl
LOG when/who/what
16-Oct-84 10:54:30 - Jacks - Created.
8-Nov-84 13:29:10 - Jacks - Added forwardingStatus to Status proc.
14-Jun-85 10:49:26 - Jacks - Added copyright notice; updated to PS Euclid interfaces.
16-Jul-85 8:13:34 - Jacks - PSAsyncMsg interface change.