LockControl Interface
Beta
Interface for acquiring element locks to coordinate simultaneous edits from multiple briefcases.
Methods
Name | Description | |
---|---|---|
acquireLocks(arg: { exclusive?: Id64Arg, shared?: Id64Arg }): Promise<void> | Acquire locks on one or more elements from the lock server, if required and not already held. | |
checkExclusiveLock(id: string, type: string, operation: string): void | Throw if locks are required and the exclusive lock is not held on the supplied element. | |
checkSharedLock(id: string, type: string, operation: string): void | Throw if locks are required and a shared lock is not held on the supplied element. | |
close(): void | Close the local lock control database | |
elementWasCreated(id: string): void | Notification that a new element was just created. | |
holdsExclusiveLock(id: string): boolean | Determine whether the supplied element currently holds the exclusive lock | |
holdsSharedLock(id: string): boolean | Determine whether the supplied element currently holds a shared lock | |
releaseAllLocks(): Promise<void> | Release all locks currently held by this Briefcase from the lock server. |
Properties
Name | Type | Description | |
---|---|---|---|
isServerBased Readonly | boolean | true if this LockControl uses a server-based concurrency approach. |
Defined in
- backend/src/IModelDb.ts Line 97
Last Updated: 30 November, 2023