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: BOOLEANFALSE,
twoSided: BOOLEANFALSE,
docCreateDate: BasicTime.GMT ← BasicTime.nullGMT,
priority: PrintQueue.Priority ← normal,
releaseKey: CARDINALLAST[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.