88 const QUuid &windowId)
const;
100 void startOperation(
const QUuid &operationId,
const QDateTime &startedAt = {});
105 void progressOperation(
const QUuid &operationId,
double fraction,
const QString &stage = {});
117 const QString &
error = {},
int errorCode = 0,
118 const QDateTime &finishedAt = {});
144 void updateSession(
const QUuid &sessionId,
const SessionMetadata &metadata,
149 quint64
beginLoad(
const QUuid &sessionId);
155 void finishLoad(
const QUuid &sessionId, quint64 generation,
bool ok,
const QString &
error = {});
170 bool isCurrent(
const QUuid &sessionId, QObject *expectedOwner)
const;
183 const QString &targetPath,
bool joinExisting, QString *
error =
nullptr);
187 bool isSaving(
const QUuid &sessionId)
const;
201 void endSave(
const QUuid &operationId,
bool ok,
const QString &
error = {});
224 std::unique_ptr<Data> mData;
234 OpenSWMM::Sdk::StateChanges changes = {},
237 void scheduleDrain();
255 QString *
error =
nullptr,
bool joinExisting =
false);
282 QPointer<ExtensionStateRegistry> mRegistry;
284 QString *mError =
nullptr;
286 bool mSucceeded =
false;
Versioned process attempts and scoped UI lifecycle observations.
Versioned model, layer and attached-results observations and copied view metadata.
Native RAII save scope; nested joined scopes leave completion to their owner.
Definition extensionstateregistry.h:244
QUuid operationId() const
Read the shared save correlation identity.
Definition extensionstateregistry.cpp:873
ExtensionSaveOperation & operator=(const ExtensionSaveOperation &other)=delete
Forbid assigning a terminal-outcome responsibility.
bool valid() const
Check whether construction accepted an operation.
Definition extensionstateregistry.cpp:865
ExtensionSaveOperation(const ExtensionSaveOperation &other)=delete
Forbid copying a terminal-outcome responsibility.
void succeed()
Record successful native commit; outer destruction publishes the outcome.
Definition extensionstateregistry.cpp:882
bool ownsOperation() const
Inspect terminal-outcome ownership.
Definition extensionstateregistry.cpp:869
~ExtensionSaveOperation()
End an owned operation with success or a captured/fallback failure diagnostic.
Definition extensionstateregistry.cpp:860
void setTargetPath(const QString &targetPath)
Set a newly determined final destination on an owned outer operation.
Definition extensionstateregistry.cpp:877
GUI-thread session registry shared by every plugin host in the application.
Definition extensionstateregistry.h:32
quint64 beginLoad(const QUuid &sessionId)
Start a new accepted load generation.
Definition extensionstateregistry.cpp:571
OpenSWMM::Sdk::StateSnapshot snapshot() const
Copy all live states and the committed-publication watermark.
Definition extensionstateregistry.cpp:178
void publishActivityUi(const QUuid &ownerId, OpenSWMM::Sdk::UiActivityState state, OpenSWMM::Sdk::ActivityEvent event)
Commit copied scoped UI metadata and queue its invalidation.
Definition extensionstateregistry.cpp:356
QObject * ownerForSession(const QUuid &sessionId) const
Resolve the native owner of a live session.
Definition extensionstateregistry.cpp:172
OpenSWMM::Sdk::ProcessState operation(const QUuid &operationId) const
Copy a retained attempt without creating state.
Definition extensionstateregistry.cpp:208
bool requestOperationCancel(const QUuid &operationId)
Record an idempotent cancellation request before settlement.
Definition extensionstateregistry.cpp:282
bool isDeliverable(const OpenSWMM::Sdk::ViewEvent &event) const
Recheck a queued domain observation per receiving host.
Definition extensionstateregistry.cpp:524
static ExtensionStateRegistry * instance()
Resolve the application-owned registry without recreating it during teardown.
Definition extensionstateregistry.cpp:126
OpenSWMM::Sdk::ModelSessionState session(const QUuid &sessionId) const
Copy one live state without creating it.
Definition extensionstateregistry.cpp:187
bool isSaving(const QUuid &sessionId) const
Inspect whether a scope still owns this session's save.
Definition extensionstateregistry.cpp:742
void stateEventReady(const OpenSWMM::Sdk::StateEvent &event)
Deliver a copied transition from the ordered GUI-thread drain.
void updateSession(const QUuid &sessionId, const SessionMetadata &metadata, OpenSWMM::Sdk::StateChanges changes=OpenSWMM::Sdk::StateChange::Metadata)
Update copied native metadata and record a broad invalidation.
Definition extensionstateregistry.cpp:550
void endSave(const QUuid &operationId, bool ok, const QString &error={})
Commit one terminal save outcome and release affected sessions.
Definition extensionstateregistry.cpp:759
void refreshActivityUi(const QUuid &ownerId, OpenSWMM::Sdk::UiActivityState state)
Copy scoped UI state at an explicit registration/backfill boundary.
Definition extensionstateregistry.cpp:350
OpenSWMM::Sdk::ViewSnapshot viewSnapshot(const QUuid &sessionId) const
Copy tracked view metadata without touching native objects.
Definition extensionstateregistry.cpp:429
QUuid beginOperation(OpenSWMM::Sdk::ProcessState state)
Accept a new uniquely identified attempt in Queued state.
Definition extensionstateregistry.cpp:213
QUuid sessionForOwner(QObject *owner) const
Resolve an already registered owner without creating state.
Definition extensionstateregistry.cpp:167
~ExtensionStateRegistry() override
Discard queued observations and retained operation metadata.
QUuid operationFor(const QUuid &sessionId) const
Resolve a session's active save correlation identity.
Definition extensionstateregistry.cpp:747
void updateSaveTarget(const QUuid &operationId, const QString &targetPath)
Resolve an outer save destination selected after preparation began.
Definition extensionstateregistry.cpp:752
void publishView(const QUuid &sessionId, OpenSWMM::Sdk::ViewSnapshot snapshot, OpenSWMM::Sdk::ViewEvent event)
Commit one domain invalidation and its latest copied view state.
Definition extensionstateregistry.cpp:450
void finishOperation(const QUuid &operationId, OpenSWMM::Sdk::ProcessPhase outcome, const QString &error={}, int errorCode=0, const QDateTime &finishedAt={})
Commit exactly one immutable terminal outcome.
Definition extensionstateregistry.cpp:300
void refreshViews(const QUuid &sessionId, OpenSWMM::Sdk::ViewSnapshot snapshot)
Refresh copied view state at a native construction/restoration boundary.
Definition extensionstateregistry.cpp:440
void forgetActivityOwner(const QUuid &ownerId)
Discard a stopped host's private snapshots and completed job metadata.
Definition extensionstateregistry.cpp:367
QUuid beginSave(const QList< QUuid > &sessionIds, OpenSWMM::Sdk::SaveKind kind, const QString &targetPath, bool joinExisting, QString *error=nullptr)
Begin a scoped save or join a compatible outer operation.
Definition extensionstateregistry.cpp:667
void beforeSave(const OpenSWMM::Sdk::SaveRequest &request)
Synchronously collect extension state before native persistence starts.
void finishLoad(const QUuid &sessionId, quint64 generation, bool ok, const QString &error={})
Commit a settled readiness/failure outcome only for the current attempt.
Definition extensionstateregistry.cpp:584
QUuid registerSession(QObject *owner, const SessionMetadata &metadata)
Register one open lifetime, idempotently for an existing owner.
Definition extensionstateregistry.cpp:138
OpenSWMM::Sdk::ActivitySnapshot activitySnapshot(const QUuid &ownerId, const QUuid &windowId) const
Copy retained window runs, private owner jobs and scoped UI metadata.
Definition extensionstateregistry.cpp:193
void progressOperation(const QUuid &operationId, double fraction, const QString &stage={})
Commit coalesced normalized progress without accepting nonfinite values.
Definition extensionstateregistry.cpp:262
bool isCurrent(const QUuid &sessionId, QObject *expectedOwner) const
Check native owner availability after reentrant callbacks.
Definition extensionstateregistry.cpp:649
void activityEventReady(const OpenSWMM::Sdk::ActivityEvent &event)
Deliver process/UI metadata from the ordered session/view/activity drain.
void viewEventReady(const OpenSWMM::Sdk::ViewEvent &event)
Deliver domain metadata in the same globally ordered session/view drain.
void beginClosing(const QUuid &sessionId)
Commit close and make the session unavailable for resolution.
Definition extensionstateregistry.cpp:597
void sessionRegistered(QObject *owner, const QUuid &sessionId)
Synchronously attach native facades after authoritative state is available.
void retireSession(const QUuid &sessionId)
Remove live state before queuing its terminal close record.
Definition extensionstateregistry.cpp:607
void startOperation(const QUuid &operationId, const QDateTime &startedAt={})
Record native runner/worker start once for a live attempt.
Definition extensionstateregistry.cpp:246
void retireOperation(const QUuid &operationId)
Retire completed metadata while preserving its queued outcome history.
Definition extensionstateregistry.cpp:335
bool ok
Definition importplanning.cpp:143
std::vector< int > owner
containing cell per pixel (-1 = outside)
Definition mesh2dresultsexport.cpp:766
const char * outcome
Definition meshenginesync.cpp:44
@ Metadata
Identity, title, path or dirty metadata changed.
ProcessPhase
Accepted scheduling/preparation, worker availability and distinct terminal outcomes.
Definition IActivityEvents.hpp:32
SaveKind
Meaning of a persisted save destination.
Definition ISessionEvents.hpp:96
StateEventKind
Lifecycle or save transition recorded by the shared application registry.
Definition ISessionEvents.hpp:83
Definition aquiferprovider.h:24
int parent
Definition planning.cpp:199
TokenKind kind
Definition queryparser.cpp:53
Owning deferred process transition or scoped UI invalidation.
Definition IActivityEvents.hpp:154
Pure copied retained process/UI metadata at the shared session/view/activity watermark.
Definition IActivityEvents.hpp:127
Owning metadata for one open lifetime, distinct from its persistent project identity.
Definition ISessionEvents.hpp:56
Owning metadata for one unique accepted attempt, independent of row IDs/titles.
Definition IActivityEvents.hpp:45
Synchronous, non-vetoing opportunity to collect state before a save writes.
Definition ISessionEvents.hpp:151
Copied outcome and destination for one uniquely identified save operation.
Definition ISessionEvents.hpp:110
Immutable transition record delivered later on the GUI thread.
Definition ISessionEvents.hpp:124
Atomic GUI-thread copy of live session metadata and its event watermark.
Definition ISessionEvents.hpp:76
Copied UI metadata scoped to one main window and the calling extension's contributions.
Definition IActivityEvents.hpp:115
Owning deferred observation identifying state to query again.
Definition IViewEvents.hpp:113
Pure copied current metadata at the shared registry watermark.
Definition IViewEvents.hpp:98
Private authoritative records retained independently of plugin facades.
Definition extensionstateregistry.cpp:27
double error
Definition terrainerrorfield.cpp:42