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
ITimeSeriesLayers.hpp
Go to the documentation of this file.
1
12#pragma once
13#include <QObject>
14#include <QString>
15#include <QUuid>
16#include <QList>
17#include <functional>
18
20#define OPENSWMM_TIMESERIES_LAYERS_IID "io.opensimulator.openswmm.ITimeSeriesLayers/1.0"
21
22namespace OpenSWMM::Sdk
23{
24class IJob;
27 QUuid sessionId;
28 quint64 loadGeneration = 0;
29 QUuid importId;
31 QString packagePath;
32};
35 QUuid importId;
36 QString layerId;
37 QString datasetId;
38 QString packagePath;
39 int seriesCount = 0;
40 QString error;
41 bool cancelled = false;
42};
45 QString layerId;
46 QString datasetId;
47 QString title;
48 QString packagePath;
49 int seriesCount = 0;
50};
53{
54public:
56 virtual ~ITimeSeriesLayers() = default;
67 virtual IJob *importTimeSeries(const TimeSeriesImportRequest &request, QObject *context,
68 std::function<void(const TimeSeriesImportResult &)> finished,
69 QString *error = nullptr) = 0;
73 virtual QList<TimeSeriesLayerInfo> timeSeriesLayers(const QUuid &sessionId) const = 0;
74};
75}
#define OPENSWMM_TIMESERIES_LAYERS_IID
Frozen discovery identity for the first native time-series service.
Definition ITimeSeriesLayers.hpp:20
Borrowed thread-safe handle for a job retained by its extension host.
Definition ExtensionHost.hpp:80
Optional host-owned import service; all public entry points use the GUI thread.
Definition ITimeSeriesLayers.hpp:53
virtual QList< TimeSeriesLayerInfo > timeSeriesLayers(const QUuid &sessionId) const =0
Enumerate attached collections without loading samples or creating facades.
virtual IJob * importTimeSeries(const TimeSeriesImportRequest &request, QObject *context, std::function< void(const TimeSeriesImportResult &)> finished, QString *error=nullptr)=0
Prepare and attach a native dataset through a cancellable host job.
virtual ~ITimeSeriesLayers()=default
Destroy an implementation; plugins only borrow this capability.
QPointer< QObject > context
Required provider lifetime guard.
Definition extensionattributes.cpp:31
Public header-only ABI for independently compiled native GUI extensions.
Definition ExtensionHost.hpp:24
Owning request referencing a completed local source-neutral import descriptor.
Definition ITimeSeriesLayers.hpp:26
QUuid importId
Idempotence identity; repeated accepted completion returns the same layer.
Definition ITimeSeriesLayers.hpp:29
quint64 loadGeneration
Generation captured when accepting the download.
Definition ITimeSeriesLayers.hpp:28
QString descriptorPath
Local JSON schema openswmm.timeseries-import/1 and CSV references.
Definition ITimeSeriesLayers.hpp:30
QString packagePath
New durable .gpkg path; existing files are never overwritten.
Definition ITimeSeriesLayers.hpp:31
QUuid sessionId
Exact open model lifetime, never a persistent model UUID.
Definition ITimeSeriesLayers.hpp:27
Terminal import outcome delivered on the GUI thread to a guarded receiver.
Definition ITimeSeriesLayers.hpp:34
QString datasetId
Native dataset UUID, empty if preparation failed.
Definition ITimeSeriesLayers.hpp:37
QUuid importId
Correlates the accepted request.
Definition ITimeSeriesLayers.hpp:35
QString layerId
Persistent host-owned layer identity, empty if not published.
Definition ITimeSeriesLayers.hpp:36
QString packagePath
Completed package path, retained if the target became unavailable.
Definition ITimeSeriesLayers.hpp:38
int seriesCount
Number of native series; null-only series remain represented.
Definition ITimeSeriesLayers.hpp:39
bool cancelled
Cancellation won before publication.
Definition ITimeSeriesLayers.hpp:41
QString error
Plain failure/refusal detail, empty on success.
Definition ITimeSeriesLayers.hpp:40
Bounded copied metadata for one attached native collection.
Definition ITimeSeriesLayers.hpp:44
QString title
User-facing layer caption.
Definition ITimeSeriesLayers.hpp:47
QString packagePath
Durable local native source.
Definition ITimeSeriesLayers.hpp:48
int seriesCount
Series descriptors, not observation rows.
Definition ITimeSeriesLayers.hpp:49
QString datasetId
Dataset UUID.
Definition ITimeSeriesLayers.hpp:46
QString layerId
Persistent layer identity.
Definition ITimeSeriesLayers.hpp:45
double error
Definition terrainerrorfield.cpp:42