<> <> DIRECTORY AlpineEnvironment, AlpineFile, AlpTransaction, Buttons, IO, MBQueue, Rope, RPC, ViewerClasses; YodelData: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; MyData: TYPE = REF MyDataObject; MyDataObject: TYPE = MONITORED RECORD[ in: IO.STREAM, out: IO.STREAM, q: MBQueue.Queue, level: { user, fileProperties, ownerProperties, administrator } _ user, assertWheel: BOOL _ FALSE, breakLocks: BOOL _ FALSE, stopFlag: BOOL _ FALSE, displayOptions: BOOL _ FALSE, displayProperties: AlpineFile.PropertySet, topChild, kids, user, password, srcServer, destServer, srcFile, destFile, script: ViewerClasses.Viewer _ NIL, maxW: INTEGER, maxBW: INTEGER, buttH: INTEGER, oByteLength, oHighWaterMark, oStringName, oReadAccess, oModifyAccess, oOwner, oSize, oCreateAccessList, oRootReadAccess, oRootModifyAccess, oQuota: 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; hasPattern: SAFE PROC [pattern: ROPE] RETURNS [BOOL]; ParseSArgs: PROC [ d: MyData] RETURNS [user, password, srcServer, srcDir, srcFile: ROPE]; DecomposePattern: PROC [server: ROPE, pattern: ROPE, user: ROPE] RETURNS [directory, restOfPattern: ROPE]; <> PerformProc: TYPE = PROC [trans: AlpTransaction.Handle, 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; END.