SpecChangeNotifier
Tells a view which entity of the spec database a committed write changed.
| Inherits | QObject |
| Group | libspec |
In the namespace octomy::trove::specdb. Declared in src/libs/libspec/spec/SpecChangeNotifier.hpp.
Detailed description
Every write of SpecStore posts the key that it changed, after its commit. The HUB, a session through the door and the trove tool all write through the store, so a view that listens sees each of their changes without a reload (trove-spec-workspace §SW-3).
The signal is always queued. A writer holds the lock of the store when it posts, and the store's lock is not recursive. A receiver that read the store from inside the signal would otherwise wait on itself.
The store reads its changes in SpecStore::changes().
written() is the same signal with the writer of the write, the ClientId of its revisions, so a view can tell an OPAL session's write from the operator's own (trove-unified-ui §TUI-D-12).