<> <> <> <> <> <> DIRECTORY AlpineEnvironment, AlpineFile, LeaderPageFormat, FileInstance, TransactionMap; LeaderPage: DEFINITIONS = BEGIN LockOption: TYPE = AlpineEnvironment.LockOption; Property: TYPE = AlpineEnvironment.Property; PropertySet: TYPE = AlpineFile.PropertySet; PropertyValuePair: TYPE = AlpineEnvironment.PropertyValuePair; UserProperty: TYPE = AlpineEnvironment.UserProperty; UserProperties: TYPE = AlpineEnvironment.UserProperties; UserPropertyValuePair: TYPE = AlpineEnvironment.UserPropertyValuePair; UserPropertyValuePairs: TYPE = AlpineEnvironment.UserPropertyValuePairs; Initialize: PROCEDURE [fileInstance: FileInstance.Handle]; <> <> <> GetProperty: PROCEDURE [fileInstance: FileInstance.Handle, property: Property, lock: LockOption _ [read, wait]] RETURNS [propertyValue: PropertyValuePair]; <> <> GetPropertyList: PROCEDURE [fileInstance: FileInstance.Handle, desiredProperties: PropertySet _ ALL [TRUE], lock: LockOption _ [read, wait]] RETURNS [propertyList: LIST OF PropertyValuePair]; <> GetUserProperty: PROCEDURE [fileInstance: FileInstance.Handle, property: UserProperty, lock: LockOption _ [read, wait]] RETURNS [propertyValue: UserPropertyValuePair]; <> GetUserPropertyList: PROCEDURE [fileInstance: FileInstance.Handle, desiredProperties: UserProperties, lock: LockOption _ [read, wait]] RETURNS [properties: UserPropertyValuePairs]; <> SetProperty: PROCEDURE [fileInstance: FileInstance.Handle, propertyValue: PropertyValuePair, lock: LockOption _ [update, wait]]; <> <> SetUserProperty: PROCEDURE [fileInstance: FileInstance.Handle, propertyValue: UserPropertyValuePair, lock: LockOption _ [update, wait]]; <> <> SetPropertyList: PROCEDURE [fileInstance: FileInstance.Handle, propertyList: LIST OF PropertyValuePair, lock: LockOption _ [update, wait]]; <> Validate: PROCEDURE [fileInstance: FileInstance.Handle]; <> <> <<>> <> newLeaderPageObject: PROCEDURE [nPages: CARDINAL] RETURNS [leaderPage: LeaderPageFormat.LeaderPageHandle]; <> Finalize: PROCEDURE [fileInstance: FileInstance.Handle]; <> <> CarryOut: PROCEDURE [fileInstance: FileInstance.Handle]; <> <<>> <> Error: ERROR [errorType: ErrorType]; ErrorType: TYPE = {damaged, full, nameTooLong, notVirginFile, unwritableProperty}; <> validateBeforeEveryOperation: BOOLEAN; validateAfterEveryUpdate: BOOLEAN; END. <> <> <<>> <<>>