<> <> <> <> DIRECTORY PBasics USING [Comparison], YggEnvironment, YggRep USING [VDoc]; YggTransaction: CEDAR DEFINITIONS = BEGIN TransID: TYPE = YggEnvironment.TransID; IsTopLevel: PROC [transID: TransID] RETURNS [topLevel: BOOL]; EqualTrans: PROC [transID1: TransID, transID2: TransID] RETURNS [equal: BOOL]; CompareTrans: PROC [transID1: TransID, transID2: TransID] RETURNS [comp: PBasics.Comparison]; CreateTrans: PROC [parentTransID: TransID] RETURNS [transID: TransID]; NotePossibleDocumentUpdate: PROC [transID: TransID, vDoc: YggRep.VDoc]; GetPossibleDocumentUpdates: PROC [transID: TransID] RETURNS [ vDocs: LIST OF YggRep.VDoc]; GetDefaultContainer: PROC [transID: TransID] RETURNS [YggEnvironment.DID]; SetDefaultContainer: PROC [transID: TransID, did: YggEnvironment.DID]; RequestedOutcome: TYPE = YggEnvironment.CommitOrAbort; Outcome: TYPE = YggEnvironment.Outcome; Check: PROC [ transID: TransID] RETURNS [outcome: Outcome]; GetParent: PROC [ transID: TransID] RETURNS [transFound: BOOL, parentTransID: TransID]; IsNullTrans: PROC [ transID: TransID] RETURNS [null: BOOL]; Suspend: PROC [transID: TransID, status: INT]; Finish: PROC [transID: TransID, requestedOutcome: RequestedOutcome --{abort, commit}--] RETURNS [outcome: Outcome --{abort, commit, unknown}--]; Unknown: ERROR [what: YggEnvironment.UnknownType]; OperationFailed: ERROR [why: YggEnvironment.OperationFailure]; <> END.