27 QString
const &description,
28 QString
const &library )
30 , mDescription( description )
36 , mDescription( description )
37 , mCreateFunction( createFunc )
42 qDeleteAll( mProviderConnections );
62 return QgsProviderMetadata::ProviderMetadataCapabilities();
67 return QgsProviderMetadata::ProviderCapabilities();
87 return mCreateFunction;
107 return QList<QgsMeshDriverMetadata>();
117 return QList<QgsMapLayerType>();
127 return QStringList();
132 return QList<QgsProviderSublayerDetails>();
137 QgsDataProvider::ReadFlags flags )
139 if ( mCreateFunction )
141 return mCreateFunction( uri, options, flags );
148 if ( value.toString().compare( QStringLiteral(
"yes" ), Qt::CaseInsensitive ) == 0 ||
149 value.toString().compare( QStringLiteral(
"1" ), Qt::CaseInsensitive ) == 0 ||
150 value.toString().compare( QStringLiteral(
"true" ), Qt::CaseInsensitive ) == 0 )
152 uri[ parameter ] =
true;
154 else if ( value.toString().compare( QStringLiteral(
"no" ), Qt::CaseInsensitive ) == 0 ||
155 value.toString().compare( QStringLiteral(
"0" ), Qt::CaseInsensitive ) == 0 ||
156 value.toString().compare( QStringLiteral(
"false" ), Qt::CaseInsensitive ) == 0 )
158 uri[ parameter ] =
false;
164 if ( uri.value( parameter, QString() ).toString().compare( QStringLiteral(
"yes" ), Qt::CaseInsensitive ) == 0 ||
165 uri.value( parameter, QString() ).toString().compare( QStringLiteral(
"1" ), Qt::CaseInsensitive ) == 0 ||
166 uri.value( parameter, QString() ).toString().compare( QStringLiteral(
"true" ), Qt::CaseInsensitive ) == 0 )
170 else if ( uri.value( parameter, QString() ).toString().compare( QStringLiteral(
"no" ), Qt::CaseInsensitive ) == 0 ||
171 uri.value( parameter, QString() ).toString().compare( QStringLiteral(
"0" ), Qt::CaseInsensitive ) == 0 ||
172 uri.value( parameter, QString() ).toString().compare( QStringLiteral(
"false" ), Qt::CaseInsensitive ) == 0 )
182 return QVariantMap();
193 bool, QMap<int, int> &,
194 QString &errorMessage,
const QMap<QString, QVariant> * )
196 errorMessage = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"createEmptyLayer" ) );
197 return Qgis::VectorExportResult::ErrorProviderUnsupportedFeature;
202 errorMessage = QObject::tr(
"The %1 provider does not support database creation" ).arg(
key() );
207 const QString &,
const QString &,
211 const QStringList & )
233 return QList<QPair<QString, QString> >();
238 return QList<QgsDataItemProvider *>();
242 QStringList &, QString &errCause )
244 errCause = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"listStyles" ) );
257 errCause = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"getStyleById" ) );
263 errCause = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"deleteStyleById" ) );
268 const QString &,
const QString &,
bool, QString &errCause )
270 errCause = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"saveStyle" ) );
276 errCause = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"loadStyle" ) );
282 errCause = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"loadStoredStyle" ) );
293 errCause = QObject::tr(
"Provider %1 has no %2 method" ).arg(
key(), QStringLiteral(
"createDb" ) );
310 return connections<QgsAbstractDatabaseProviderConnection>( cached ) ;
315 const QMap<QString, QgsAbstractProviderConnection *> constConns {
connections( cached ) };
316 const QStringList constKeys { constConns.keys( ) };
317 for (
const QString &
key : constKeys )
321 return constConns.value(
key );
336 Q_UNUSED( configuration );
349 Q_UNUSED( connection )
357 const bool isNewConnection = !
connections().contains( name );
359 mProviderConnections.clear();
361 if ( !isNewConnection )
371 QMap<QString, T *> result;
373 const QStringList constConnKeys { constConns.keys() };
374 for (
const auto &
c : constConnKeys )
376 T *casted {
static_cast<T *
>( constConns.value(
c ) ) };
379 result.insert(
c, casted );
388 const QString &description,
389 const MeshDriverCapabilities &capabilities,
390 const QString &writeDatasetOnfileSuffix )
392 , mDescription( description )
393 , mCapabilities( capabilities )
394 , mWriteDatasetOnFileSuffix( writeDatasetOnfileSuffix )
399 const QString &description,
400 const MeshDriverCapabilities &capabilities,
401 const QString &writeDatasetOnfileSuffix,
402 const QString &writeMeshFrameOnFileSuffix,
403 int maxVerticesPerface )
405 , mDescription( description )
406 , mCapabilities( capabilities )
407 , mWriteDatasetOnFileSuffix( writeDatasetOnfileSuffix )
408 , mWriteMeshFrameOnFileSuffix( ( writeMeshFrameOnFileSuffix ) )
409 , mMaxVerticesPerFace( maxVerticesPerface )
415 return mCapabilities;
430 return mWriteDatasetOnFileSuffix;
435 return mWriteMeshFrameOnFileSuffix;
440 return mMaxVerticesPerFace;
VectorExportResult
Vector layer export result codes.
DataType
Raster data types.
The QgsAbstractProviderConnection provides an interface for data provider connections.
virtual void store(const QString &name) const =0
Stores the connection in the settings.
This class represents a coordinate reference system (CRS).
Abstract base class for spatial data provider implementations.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Container of fields for a vector layer.
Custom exception class which is raised when an operation is not supported.
Custom exception class for provider connection related exceptions.
Base class for raster data providers.
This class allows including a set of layers in a database-side transaction, provided the layer data p...
Type
The WKB type describes the number of dimensions a geometry has.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
Setting options for creating vector data providers.
Mesh - vertices, edges and faces.