TargetPS.mesa
Copyright (C) Xerox Corporation 1984, 1985, 1986. All rights reserved.
Last edited by Jacks 8-Jul-85 17:45:08
Tim Diebert: October 23, 1986 4:49:13 pm PDT
<< This interface defines operations on the Target Print Service; used when the PS is set up as a Front End Print Service. >>
DIRECTORY
BasicTime USING [GMT, nullGMT],
FS USING [OpenFile],
NSString USING [nullString, String],
PaperTypes USING [Paper],
PrintQueue USING [Priority],
System USING [UniversalID],
TargetPSStatus USING [Communication, Current, Properties, Request],
XNS USING [Address];
TargetPS: CEDAR DEFINITIONS = BEGIN
ERRORS
Error: ERROR [why: TargetPSStatus.Communication];
<< 'why' is determined as follows:
busy = NSPrint.Error[busy[]]
insufficientSpoolSpace= NSPrint.Error[insufficientSpoolSpace[]]
masterTooLarge = NSPrint.Error[masterTooLarge[]]
mediumUnavailable = NSPrint.Error[mediumUnavailable[]]
targetUnavailable = NSPrint.Error[serviceUnavailable[]]
spoolingDisabled = NSPrint.Error[spoolingDisabled[]]
spoolingQueueFull = NSPrint.Error[spoolingQueueFull[]]
systemError = NSPrint.Error[systemError[]]
tooManyClients = NSPrint.Error[tooManyClients[]]
noRouteToSystemElement= NSPrint.Error[connectionError[noRoute]] or
Courier.Error[noRouteToSystemElement]
remoteSystemElementNotResponding
= NSPrint.Error[connectionError[noResponse]] or
Courier.Error[remoteSystemElementNotResponding]
returnTimedOut = NSPrint.Error[connectionError[returnTimedOut]] or
Courier.Error[returnTimedOut]
transmissionMediumProblem
= NSPrint.Error[connectionError[transmissionHardware]],
Courier.Error[transmissionMediumHardwareProblem],
Courier.Error[transmissionMediumUnavailable] or
Courier.Error[transmissionMediumNotReady]
transferAborted = NSDataStream.Aborted,
NSFile.Error[transfer[aborted]] or
NSPrint.Error[transferError[aborted]]
transferError = NSDataStream.Error or
NSFile.Error[transfer[*]]
(other than * = aborted above) or
NSPrint.Error[transferError[*]]
(other than * = aborted above)
connectionError = NSPrint.Error[connectionError[*]]
(other than specified above).
courierError = Courier.Error[*] (other than specified above).
undefinedError = NSPrint.Error[undefined[]] or
any other error not listed above.
>>
======================================================================
PROCEDURES
GetPrinterProperties:
PROCEDURE [target:
XNS.Address]
RETURNS [properties: TargetPSStatus.Properties];
GetPrinterStatus:
PROCEDURE [target:
XNS.Address]
RETURNS [status: TargetPSStatus.Current];
GetPrintRequestStatus:
PROCEDURE [printRequestID: System.UniversalID,
target:
XNS.Address]
RETURNS [status: TargetPSStatus.Request];
ForwardDocument:
PROCEDURE [
target: XNS.Address,
master: FS.OpenFile,
docName: NSString.String ← NSString.nullString,
sender: NSString.String ← NSString.nullString,
recipient: NSString.String ← NSString.nullString,
message: NSString.String ← NSString.nullString,
paper: PaperTypes.Paper ← [],
copies: CARDINAL ← 1,
staple: BOOLEAN ← FALSE,
twoSided: BOOLEAN ← FALSE,
docCreateDate: BasicTime.GMT ← BasicTime.nullGMT,
priority: PrintQueue.Priority ← normal,
releaseKey: CARDINAL ← LAST[CARDINAL]
] RETURNS [printRequestID: System.UniversalID];
END.
LOG when/who/what
26-Oct-84 10:51:04 - Jacks - Created.
31-Oct-84 13:27:47 - Jacks - Added type defs.
14-Nov-84 11:40:54 - Jacks - Got rid of ErrorType, using StatusTypes.Remote instead; got rid of Status, usint State.TargetPrintService instead; changed paperSize in Properties to paperSize1 and paperSize2.
12-Dec-84 14:27:48 - Jacks - Added Status type, GetPrinterStatus now returns Status instead of StatusTypes.TargetPrintService.
14-Jun-85 10:53:03 - Jacks - Added copyright notice; removed type defs in favor of using TargetPSStatus interface.