SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
ISessionEvents.hpp File Reference

Authoritative model-session lifecycle, revision snapshots and project-save observations. More...

#include <QFlags>
#include <QList>
#include <QMetaObject>
#include <QMetaType>
#include <QObject>
#include <QString>
#include <QUuid>
#include <functional>
Include dependency graph for ISessionEvents.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenSWMM::Sdk::ModelSessionState
 Owning metadata for one open lifetime, distinct from its persistent project identity. More...
 
struct  OpenSWMM::Sdk::StateSnapshot
 Atomic GUI-thread copy of live session metadata and its event watermark. More...
 
struct  OpenSWMM::Sdk::SaveState
 Copied outcome and destination for one uniquely identified save operation. More...
 
struct  OpenSWMM::Sdk::StateEvent
 Immutable transition record delivered later on the GUI thread. More...
 
struct  OpenSWMM::Sdk::StateEventFilter
 Copied selection of lifecycle kinds and optionally one open lifetime. More...
 
struct  OpenSWMM::Sdk::SaveRequest
 Synchronous, non-vetoing opportunity to collect state before a save writes. More...
 
class  OpenSWMM::Sdk::ISessionEvents
 Frozen optional access to session snapshots and authoritative lifecycle observations. More...
 

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Sdk
 Public header-only ABI for independently compiled native GUI extensions.
 

Macros

#define OPENSWMM_SESSION_EVENTS_IID   "io.opensimulator.openswmm.IEventSource/2.0"
 Frozen Qt discovery identity for authoritative lifecycle observations.
 

Enumerations

enum class  OpenSWMM::Sdk::SessionStatus : quint32 {
  OpenSWMM::Sdk::Created = 1 ,
  OpenSWMM::Sdk::Loading = 2 ,
  OpenSWMM::Sdk::Ready = 3 ,
  OpenSWMM::Sdk::Failed = 4 ,
  OpenSWMM::Sdk::Closing = 5
}
 Current availability of an open model-window session. More...
 
enum class  OpenSWMM::Sdk::StateChange : quint32 {
  OpenSWMM::Sdk::None = 0 ,
  OpenSWMM::Sdk::Metadata = 1 ,
  OpenSWMM::Sdk::Model = 2 ,
  OpenSWMM::Sdk::Selection = 4 ,
  OpenSWMM::Sdk::Viewport = 8 ,
  OpenSWMM::Sdk::Layers = 16 ,
  OpenSWMM::Sdk::Results = 32 ,
  OpenSWMM::Sdk::ProjectState = 64
}
 Broad invalidations of queryable state, without claiming changed-field deltas. More...
 
enum class  OpenSWMM::Sdk::StateEventKind : quint32 {
  OpenSWMM::Sdk::SessionOpened = 1 ,
  OpenSWMM::Sdk::LoadStarted = 2 ,
  OpenSWMM::Sdk::ModelReady = 3 ,
  OpenSWMM::Sdk::LoadFailed = 4 ,
  OpenSWMM::Sdk::StateChanged = 5 ,
  OpenSWMM::Sdk::SaveStarted = 6 ,
  OpenSWMM::Sdk::SaveFinished = 7 ,
  OpenSWMM::Sdk::SessionClosing = 8 ,
  OpenSWMM::Sdk::SessionClosed = 9
}
 Lifecycle or save transition recorded by the shared application registry. More...
 
enum class  OpenSWMM::Sdk::SaveKind : quint32 {
  OpenSWMM::Sdk::Project = 1 ,
  OpenSWMM::Sdk::Sidecar = 2 ,
  OpenSWMM::Sdk::Recovery = 3
}
 Meaning of a persisted save destination. More...
 
enum class  OpenSWMM::Sdk::SaveOutcome : quint32 {
  OpenSWMM::Sdk::None = 0 ,
  OpenSWMM::Sdk::Started = 1 ,
  OpenSWMM::Sdk::Succeeded = 2 ,
  OpenSWMM::Sdk::Failed = 3
}
 Outcome state of a correlated save operation. More...
 

Variables

constexpr auto OpenSWMM::Sdk::SESSION_EVENTS_IID
 Public alias for the frozen discovery identity.
 

Detailed Description

Authoritative model-session lifecycle, revision snapshots and project-save observations.

This optional SDK 1.3 capability is discovered through the host lifetime QObject. It preserves the separately frozen IModelEvents event contract. All operations use the GUI thread; values contain identities and copied metadata, never private window or engine pointers. Interface and value layouts are frozen for this IID.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License
GPL-3.0-or-later

Macro Definition Documentation

◆ OPENSWMM_SESSION_EVENTS_IID

#define OPENSWMM_SESSION_EVENTS_IID   "io.opensimulator.openswmm.IEventSource/2.0"

Frozen Qt discovery identity for authoritative lifecycle observations.