Creates a transaction manager for one database.
Database whose mutations and undo history are managed
When true, mutations outside an active transaction throw an error.
Undo/redo replay is exempt so AcDbChangeApplier can restore state.
Returns the top-most active transaction, if any.
Dispatches entity-modified notifications accumulated during event batching.
Called from AcDbDatabase.endEventBatch when the outermost batch closes.
Dispatches layer-modified notifications accumulated during event batching.
Called from AcDbDatabase.endEventBatch when the outermost batch closes.
Returns true while AcDbChangeApplier is replaying undo or redo changes.
Returns true when the object was opened for write in an active transaction.
Used by AcDbSymbolTableRecord.assertOpenForWrite to enforce ObjectARX write semantics. A modify entry in a transaction recorder indicates the object was opened with AcDbOpenMode.kForWrite, including entries merged from nested transactions.
Object identifier to check
Records append of an object into a container during the active transaction.
No-op when isRecording is false.
Container that received the object
Object that was appended
Records removal of an object from a container during the active transaction.
No-op when isRecording is false.
Container that owned the removed object
Object that was removed
Records the pre-change value of a system variable.
No-op when isRecording is false.
System variable name
Value observed before mutation
Runs one undoable editor command inside a transaction and undo mark.
On success the transaction is committed and the undo mark is closed. On failure the transaction is aborted and the undo mark is cancelled.
Label stored on the resulting undo record
Callback that performs the command using the active transaction
The value returned by fn
Starts a new database transaction and pushes it onto the stack.
Equivalent to ObjectARX AcDbTransactionManager::startTransaction().
The newly created transaction
Opens an undo-mark group.
Commits performed before endUndoMark are merged into one AcDbUndoRecord.
Optionallabel: stringOptional label for undo UI (for example, "Move")
Manages database transactions and undo/redo history for one AcDbDatabase.
Aligns with ObjectARX {@code AcDbTransactionManager} semantics and provides undo mark grouping for editor commands.