<> <> <> <> DIRECTORY AlpineEnvironment USING [Conversation, FileStore, LockFailure, NeededAccess, OperationFailure, Principal, UnknownType], AlpineFileRpcControl USING [InterfaceRecord], AlpineOwnerRpcControl USING [InterfaceRecord], AlpineTransactionRpcControl USING [InterfaceRecord], AlpineVolumeRpcControl USING [InterfaceRecord], RPC USING [EncryptionKey]; AlpInstance: CEDAR DEFINITIONS = BEGIN FileStore: TYPE = AlpineEnvironment.FileStore; Principal: TYPE = AlpineEnvironment.Principal; EncryptionKey: TYPE = RPC.EncryptionKey; AccessFailed: READONLY ERROR [missingAccess: AlpineEnvironment.NeededAccess]; LockFailed: READONLY ERROR [why: AlpineEnvironment.LockFailure]; OperationFailed: READONLY ERROR [why: AlpineEnvironment.OperationFailure]; StaticallyInvalid: READONLY ERROR; Unknown: READONLY ERROR [what: AlpineEnvironment.UnknownType]; PossiblyDamaged: READONLY SIGNAL; Handle: TYPE = REF Object; Object: TYPE = RECORD[ trans: AlpineTransactionRpcControl.InterfaceRecord, file: AlpineFileRpcControl.InterfaceRecord, owner: AlpineOwnerRpcControl.InterfaceRecord, volume: AlpineVolumeRpcControl.InterfaceRecord, otherInterfaces: LIST OF REF ANY, conversation: AlpineEnvironment.Conversation, fileStore: FileStore]; Create: PROCEDURE[fileStore: FileStore, caller: Principal _ NIL, key: EncryptionKey _ ALL[0]] RETURNS [Handle]; <> <> <> Failed: ERROR [why: Failure]; Failure: TYPE = {authenticateFailed, other, unbound}; <> END. <> <<>> <>