16#ifndef QQGSDATAPROVIDER_H
17#define QQGSDATAPROVIDER_H
46 if ( qobject_cast<QgsVectorDataProvider *>( sipCpp ) )
48 sipType = sipType_QgsVectorDataProvider;
50 else if ( qobject_cast<QgsRasterDataProvider *>( sipCpp ) )
52 sipType = sipType_QgsRasterDataProvider;
54 else if ( qobject_cast<QgsMeshDataProvider *>( sipCpp ) )
56 sipType = sipType_QgsMeshDataProvider;
58 else if ( qobject_cast<QgsPointCloudDataProvider *>( sipCpp ) )
60 sipType = sipType_QgsPointCloudDataProvider;
125 mDataSourceURI = uri;
139 if ( expandAuthConfig && mDataSourceURI.contains( QLatin1String(
"authcfg" ) ) )
142 return uri.
uri( expandAuthConfig );
146 return mDataSourceURI;
164 virtual QString htmlMetadata()
const;
172 mDataSourceURI = uri.
uri(
true );
182 mDataSourceURI = uri;
259 return extent().toBox3d( std::numeric_limits<double>::quiet_NaN(), std::numeric_limits<double>::quiet_NaN() );
287 virtual QString subsetStringDialect()
const;
300 virtual QString subsetStringHelpUrl()
const;
317 virtual bool setSubsetString(
const QString &subset,
bool updateFeatureCount =
true );
325 virtual bool supportsSubsetString()
const;
343 virtual QString subsetString()
const;
355 return QStringList();
367 return QStringList();
388 if ( layers.count() < 1 )
402 if ( name.isEmpty() || !vis )
422 virtual QString
name()
const = 0;
469 virtual void reloadData();
472 virtual QDateTime
timestamp()
const {
return mTimestamp; }
535 void setProviderProperty( ProviderProperty property,
const QVariant &value );
542 void setProviderProperty(
int property,
const QVariant &value );
549 QVariant providerProperty( ProviderProperty property,
const QVariant &defaultValue = QVariant() )
const;
556 QVariant providerProperty(
int property,
const QVariant &defaultValue )
const;
567 virtual void setListening(
bool isListening );
578 double lastRenderingTimeMs = -1;
581 double maxRenderingTimeMs = MAXIMUM_LAYER_PREVIEW_TIME_MS;
643 static QString sublayerSeparator();
650 virtual
Qgis::ProviderStyleStorageCapabilities styleStorageCapabilities() const;
660 void fullExtentCalculated();
682 void notify( const QString &msg );
690 QDateTime mTimestamp;
710 QString mDataSourceURI;
714 QMap< int, QVariant > mProviderProperties;
719 mutable QMutex mOptionsMutex;
725 virtual void reloadProviderData() {}
727 friend class TestQgsProject;
The Qgis class provides global constants for use throughout the application.
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
A 3-dimensional box composed of x, y, z coordinates.
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Base class for handling elevation related properties for a data provider.
Base class for handling properties relating to a data provider's temporal capabilities.
Abstract base class for spatial data provider implementations.
virtual void invalidateConnections(const QString &connection)
Invalidate connections corresponding to specified name.
virtual bool leaveUpdateMode()
Leave update mode.
void setUri(const QgsDataSourceUri &uri)
Set the data source specification.
virtual void setLayerOrder(const QStringList &layers)
Reorder the list of layer names to be rendered by this provider (in order from bottom to top)
virtual QString name() const =0
Returns a provider name.
void setError(const QgsError &error)
Sets error message.
virtual QDateTime timestamp() const
Time stamp of data source in the moment when data/metadata were loaded by provider.
virtual QgsCoordinateReferenceSystem crs() const =0
Returns the coordinate system for the data source.
virtual QString dataComment() const
Returns a short comment for the data that this provider is providing access to (e....
void setUri(const QString &uri)
Set the data source specification.
ProviderProperty
Properties are used to pass custom configuration options into data providers.
@ EvaluateDefaultValues
Evaluate default values on provider side when calling QgsVectorDataProvider::defaultValue( int index ...
virtual QgsLayerMetadata layerMetadata() const
Returns layer metadata collected from the provider's source.
virtual bool isValid() const =0
Returns true if this is a valid layer.
virtual void setDataSourceUri(const QString &uri)
Set the data source specification.
virtual QString fileRasterFilters() const
Returns raster file filter string.
virtual QgsError error() const
Gets current status error.
virtual QDateTime dataTimestamp() const
Current time stamp of data source.
virtual QString dataSourceUri(bool expandAuthConfig=false) const
Gets the data source specification.
virtual QString description() const =0
Returns description.
QgsDataSourceUri uri() const
Gets the data source specification.
virtual QString fileVectorFilters() const
Returns vector file filter string.
virtual QStringList subLayerStyles() const
Sub-layer styles for each sub-layer handled by this provider, in order from bottom to top.
Qgis::DataProviderReadFlags mReadFlags
Read flags. It's up to the subclass to respect these when needed.
virtual void updateExtents()
Update the extents of the layer.
virtual uint subLayerCount() const
Returns the number of layers for the current data source.
virtual QStringList subLayers() const
Sub-layers handled by this provider, in order from bottom to top.
virtual bool writeLayerMetadata(const QgsLayerMetadata &metadata)
Writes layer metadata to the underlying provider source.
virtual bool enterUpdateMode()
Enter update mode.
virtual void setSubLayerVisibility(const QString &name, bool vis)
Set the visibility of the given sublayer name.
Class for storing the component parts of a RDBMS data source URI (e.g.
QString uri(bool expandAuthConfig=true) const
Returns the complete URI as a string.
QgsErrorMessage represents single error message.
A container for error messages.
void append(const QString &message, const QString &tag)
Append new error message.
A rectangle specified with double values.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Stores settings related to the context in which a preview job runs.
Setting options for creating vector data providers.
QgsCoordinateTransformContext transformContext
Coordinate transform context.