Copyright (C) 1994, Digital Equipment Corp.
LockMethods.i3
INTERFACE LockMethods;
IMPORT LockOps, Fingerprint, PkgErr, NetObj, Thread;
FROM LockOps IMPORT Auth, Dir, PN, BreakRights, CommitFailures, DirList,
EnumList, Instance, RefEntry, ShipArray, SiteName, Version;
REVEAL
LockOps.T = NetObj.T BRANDED "LockOps.T" OBJECT METHODS
create(
auth: Auth; pn: PN; initialKey: TEXT;
version: Version; remoteCheck: BOOLEAN)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
remove(auth: Auth; package: PN; key: TEXT; reship: BOOLEAN)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted,
LockOps.CommitFailed, LockOps.LockConflict};
lock(
auth: Auth; pn: PN;
version: Version; key: TEXT; keySite: SiteName) : Version
RAISES {NetObj.Error, PkgErr.E, LockOps.LockConflict,
Thread.Alerted};
unlock(
auth: Auth; pn: PN;
version: Version; key: TEXT; keySite: SiteName;
breakRights: BreakRights; forceVersion: BOOLEAN)
RAISES {NetObj.Error, PkgErr.E, LockOps.CommitFailed,
LockOps.LockConflict, LockOps.SynchVersions,
Thread.Alerted};
assign(
auth: Auth; pn: PN;
key: TEXT; keySite: SiteName) : Version
RAISES {NetObj.Error, PkgErr.E, LockOps.LockConflict,
Thread.Alerted};
commit(
auth: Auth; pn: PN; version: Version;
VAR ships: ShipArray; reship: BOOLEAN) : CommitFailures
RAISES {NetObj.Error, LockOps.CommitFailed, PkgErr.E,
Thread.Alerted};
enumerate(
dir: Dir; site: SiteName;
locksOnly, localOnly, pendingOnly: BOOLEAN): EnumList
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
getEntry(pn: PN; goRemote: BOOLEAN) : RefEntry
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
setEntry(auth: Auth; pn: PN; entry: RefEntry)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
setFingerprint(
auth: Auth; pn: PN; version: Version; fp: Fingerprint.T)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
createCheck(pn: PN)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
createForeign (
auth: Auth; pn: PN; owningSite: SiteName; instance: Instance)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
createDir (auth: Auth; dir: Dir)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
removeDir(auth: Auth; dir: Dir)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
checkDir(dir: Dir)
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
enumerateDirs(site: SiteName): DirList
RAISES {NetObj.Error, PkgErr.E, Thread.Alerted};
removeForeign(auth: Auth; pn: PN)
RAISES {NetObj.Error, PkgErr.E, LockOps.CommitFailed,
Thread.Alerted};
END;
END LockMethods.