MiscActionsImpl.mesa
Last edited by:
Kolling on March 10, 1983 6:07 pm
Taft on April 10, 1983 5:25 pm
DIRECTORY
AccessControl
USING[AssertAlpineWheel, OperationFailed],
AlpineEnvironment
USING[Conversation, TransID],
AlpineTransaction
USING[OperationFailed],
FilePrivate
USING[EstablishTransactionContext, TransactionWork];
MiscActionsImpl: PROGRAM
IMPORTS AC: AccessControl, AT: AlpineTransaction, FP: FilePrivate
EXPORTS AlpineTransaction =
BEGIN OPEN AE: AlpineEnvironment;
AlpineTransaction.
AssertAlpineWheel: PUBLIC PROCEDURE[conversation: AE.Conversation, transID: AE.TransID, enable: BOOLEAN] =
BEGIN -- non system-fatal errors: OperationFailed[notAlpineWheel, regServersUnavailable], Unknown[transID].
Work: FP.TransactionWork --[trans, pUpdateCost]-- =
BEGIN
IF NOT AC.AssertAlpineWheel[conversation, trans, enable
! AC.OperationFailed => GOTO opFailed]
THEN ERROR AT.OperationFailed[notAlpineWheel];
EXITS
opFailed => ERROR AT.OperationFailed[regServersUnavailable];
END; -- Work
FP.EstablishTransactionContext[conversation, transID, Work];
END;
END.