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).

In this section