<> <> <> <> <> DIRECTORY AlpineEnvironment, AlpineFile, AlpTransaction, Buttons, IO, MBQueue, Rope, RPC, ViewerClasses; YodelData: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; MyData: TYPE = REF MyDataObject; YesNoAll: TYPE = {wait, yes, no, all}; MyDataObject: TYPE = MONITORED RECORD[ in: IO.STREAM, out: IO.STREAM, q: MBQueue.Queue, condition: CONDITION, level: { user, fileProperties, ownerProperties, administrator } _ user, assertWheel: BOOL _ FALSE, breakLocks: BOOL _ FALSE, stopFlag: BOOL _ FALSE, displayOptions: BOOL _ FALSE, displayProperties: AlpineFile.PropertySet, AutoDelete: BOOL _ FALSE, DelVerCount: INT _ 0, background: BOOL _ FALSE, deleteConfirm: YesNoAll _ wait, topChild, kids, src, dest, script: ViewerClasses.Viewer _ NIL, maxW: INTEGER, maxBW: INTEGER, buttH: INTEGER, oDeleteConfirm, oByteLength, oHighWaterMark, oStringName, oReadAccess, oModifyAccess, oOwner, oVersion, oSize, oCreateAccessList, oOwnerKeep, oFileKeep, oRootReadAccess, oRootModifyAccess, oQuota, yesButton, noButton: ViewerClasses.Viewer _ NIL ]; <<>> <<>> <> PropertySetToRope: TYPE = RECORD [ property: AlpineEnvironment.Property, propertyName: ROPE ]; NumberOfAlpineProperties: INT = 8 ; PropertySetToRopeArray: ARRAY [0..NumberOfAlpineProperties) OF PropertySetToRope ; <> CreateButtons: PROC[d: MyData, parent: ViewerClasses.Viewer]; < for internal Yodel use>> ListFilesProc: Buttons.ButtonProc; DeleteFilesProc: Buttons.ButtonProc; CopyFilesProc: Buttons.ButtonProc; FullCopyFilesProc: Buttons.ButtonProc; OptionsProc: Buttons.ButtonProc; ChangeOptionsProc: Buttons.ButtonProc; ChangeAutoDeleteProc: Buttons.ButtonProc; ChangeDelVerProc: Buttons.ButtonProc; ChangePriorityProc: Buttons.ButtonProc; YesProc: Buttons.ButtonProc; NoProc: Buttons.ButtonProc; ListInterimProc: Buttons.ButtonProc; hasPattern: SAFE PROC [pattern: ROPE] RETURNS [BOOL]; ParseSArgs: PROC [ d: MyData] RETURNS [user, password, srcServer, srcDir, srcFile: ROPE, parseError: BOOL, errorExplanation: ROPE]; DecomposePattern: PROC [server: ROPE, pattern: ROPE, user: ROPE, addStar: BOOL _ TRUE] RETURNS [directory, restOfPattern: ROPE]; PrintResult: PROC [out: IO.STREAM, resultList: LIST OF REF ANY] RETURNS [printedSomething: BOOL]; <> PerformProc: TYPE = PROC [trans: AlpTransaction.Handle, serverForTrans: ROPE, caller: AlpineEnvironment.Principal, key: RPC.EncryptionKey] RETURNS [LIST OF REF ANY]; PerformOp: PROC[ performProc: PerformProc, server: ROPE, user: ROPE _ NIL, password: ROPE _ NIL] RETURNS [LIST OF REF ANY]; <> ExamineProc: Buttons.ButtonProc; ApplyProc: Buttons.ButtonProc; QuotaProc: Buttons.ButtonProc; GetOwnerPropertiesProc: Buttons.ButtonProc; PutOwnerPropertiesProc: Buttons.ButtonProc; <> <<>> ChangeAssertWheel: Buttons.ButtonProc; ChangeBreakLocks: Buttons.ButtonProc; CreateOwnerProc: Buttons.ButtonProc; DestroyOwnerProc: Buttons.ButtonProc; WriteQuotaProc: Buttons.ButtonProc; ListOwnersProc: Buttons.ButtonProc; ReadDBPropertiesProc: Buttons.ButtonProc; ConvertDirectoryProc: Buttons.ButtonProc; RenameProc: Buttons.ButtonProc; END. <> <> <<>> <> <> <<>> <> <> <<>> <> <> <<>>