DIRECTORY AdobeOps USING [ARSystemHandle], Rope USING [ROPE]; ARAccess: CEDAR DEFINITIONS = BEGIN ARHandle: TYPE = REF ARObject ¬ NIL; ARObject: TYPE; Destroy: PROCEDURE [session: Session]; Logoff: PROCEDURE [session: Session]; Session: TYPE = AdobeOps.ARSystemHandle; ARStorage: TYPE = REF DataTable; DataTable: TYPE = RECORD [ index: CARDINAL, fieldValueSeq: SEQUENCE length: CARDINAL OF DataPair]; DataPair: TYPE = RECORD[ fieldName: Rope.ROPE ¬ NIL, value: Rope.ROPE ¬ NIL]; GetAR: PROCEDURE [session: Session, arNumber: CARDINAL] RETURNS [arH: ARHandle]; ExamineAR: PROCEDURE [ session: Session, arH: ARHandle] RETURNS [to: ARStorage--Stream.Handle--]; FreeAR: PROCEDURE [session: Session, arH: ARHandle] RETURNS [nil: ARHandle]; CheckOutAR: PROCEDURE [ session: Session, arH: ARHandle, to: ARStorage--Stream.Handle--]; CheckInAR: PROCEDURE [ session: Session, arH: ARHandle, from: ARStorage--Stream.Handle--]; AbortCheckOut: PROCEDURE [session: Session, arH: ARHandle]; SubmitAR: PROCEDURE [ -- stores a modified AR -- session: Session, arNumber: LONG CARDINAL, from: ARStorage--Stream.Handle--]; AppendChar: PROCEDURE [r: Rope.ROPE, c: CHAR] RETURNS [Rope.ROPE]; ErrorCode: TYPE = MACHINE DEPENDENT { invalidARHandle(0), invalidARNumber, invalidSession, youMustFirstCheckIn, invalidLogin(4), authError, accessDenied, accessUndetermined, arNotFound, directoryNotFound, hostNotFound, serverNotResponding, communicationError, crashDuringCheckOut, notCheckedOut, currentlyCheckedOut, fileServerFull, directoryFull, unknown(31)}; Error: ERROR [session: Session, why: ErrorCode]; END. J Copyright Σ 1983, 1984, 1991, 1992 by Xerox Corporation. All rights reserved. File: ARAccess.mesa Edited by: BJD 9-May-84 12:14:39 Somers 5-May-83 12:03:21 LXR 5-May-83 13:59:09 JCS 4-Sep-85 11:04:45 RSF 18-Sep-85 17:42:31 Philip James, February 21, 1991 11:31 am PST Auth USING [IdentityHandle], NSFile USING [Reference], IO USING [STREAM], Types and data Session: TYPE = REF SessionObject _ NIL; SessionObject: TYPE; Procedures zone is from where any storage is allocated; arLocation is the NSFile.ID and NSFile.Service of the AR directory; this is returned from AdobeServer.GetLocationOfARs; Create: PROCEDURE [arLocation: NSFile.Reference] RETURNS [session: Session]; Logon: PROCEDURE [session: Session, user: Auth.IdentityHandle]; In order to operate on any AR, the client must first call GetAR to find the associated file. This handle is then passed to any of the AR routines; GetAR opens a connection to the file server; If a communication error occurs between a GetAR and another AR routine, the client must do a FreeAR and another GetAR; there must not be any long delays between GetAR and any operation taking the returned ARHandle; CheckOut always retrieves the AR, in case someone else has done a CheckIn between your Examine and CheckOut; Signals and Errors client bugs to be caught by client unknown error Κf•NewlineDelimiter –(cedarcode) style™šœ ΟeœD™OJšœ™Jšœ™Jšœ™Jšœ™Jšœ™Jšœ™Jšœ,™,—Icode˜šΟk ˜ Kšœ žœ˜ Jšœžœ™Jšœžœ ™Jšžœžœžœ™Kšœžœžœ˜—K˜šΟnœžœž œ˜Kšž˜—˜Jšœ™—˜Jšœ žœžœžœ™(Jšœžœ™—˜Kšœ žœžœ žœ˜$Kšœ žœ˜—˜Jšœ ™ —˜Jšœ€™€šŸœž œ™0Jšžœ™—KšŸœž œ˜&JšŸœž œ/™?KšŸœž œ˜%K˜Kšœ žœ˜(K˜Kšœ žœžœ ˜ šœ žœžœ˜Kšœžœ˜Kšœžœ žœžœ ˜6—šœ žœžœ˜Kšœžœžœ˜Kšœ žœžœ˜—K˜Jšœ˜™˜KšŸœž œžœžœ˜PšŸ œž œ˜Kšœ7Οcœ˜J—šŸœž œ"˜3Kšžœ˜——˜Jšœl™lšŸ œž œ˜Kšœ. œ˜A—šŸ œž œ˜Kšœ0 œ˜C—KšŸ œž œ#˜;—˜šŸœž œ ˜1Kšœžœžœ œ˜M——˜Kš Ÿ œž œ žœžœžœžœ˜BK˜Jšœ™—˜šœ žœžœž œ˜%Jšœ ™ K˜4K˜Jšœ™K˜=K˜AK˜7K˜3Jšœ ™ K˜ ——˜KšŸœžœ$˜0—K˜˜Kšžœ˜—K˜K˜—…—Hψ