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