19 #ifndef QGSPROVIDERMETADATA_H 20 #define QGSPROVIDERMETADATA_H 24 #include <QVariantMap> 32 #include "qgis_core.h" 63 CanWriteFaceDatasets = 1 << 0,
64 CanWriteVertexDatasets = 1 << 1,
69 Q_FLAG( MeshDriverCapabilities )
82 const QString &description,
83 const MeshDriverCapabilities &capabilities );
88 MeshDriverCapabilities capabilities()
const;
98 QString description()
const;
102 QString mDescription;
103 MeshDriverCapabilities mCapabilities;
106 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsMeshDriverMetadata::MeshDriverCapabilities )
141 QgsProviderMetadata(
const QString &key,
const QString &description,
const QString &library = QString() );
152 virtual ~QgsProviderMetadata();
166 QString description()
const;
184 SIP_SKIP Q_DECL_DEPRECATED CreateDataProviderFunction createFunction() const;
190 virtual
void initProvider();
196 virtual
void cleanupProvider();
224 virtual QList<QgsMeshDriverMetadata> meshDriversMetadata();
244 QMap<int, int> &oldToNewAttrIdxMap,
245 QString &errorMessage,
246 const QMap<QString, QVariant> *options );
255 const QString &format,
260 double *geoTransform,
262 const QStringList &createOptions = QStringList() )
SIP_FACTORY;
268 virtual QList<QPair<QString, QString> > pyramidResamplingMethods();
277 virtual QVariantMap decodeUri(
const QString &uri );
287 virtual QString encodeUri(
const QVariantMap &parts );
295 virtual QList< QgsDataItemProvider * > dataItemProviders()
const SIP_FACTORY;
302 virtual int listStyles(
const QString &uri, QStringList &ids, QStringList &names,
303 QStringList &descriptions, QString &errCause );
309 virtual QString getStyleById(
const QString &uri, QString styleId, QString &errCause );
315 virtual bool deleteStyleById(
const QString &uri, QString styleId, QString &errCause );
321 virtual bool saveStyle(
const QString &uri,
const QString &qmlStyle,
const QString &sldStyle,
322 const QString &styleName,
const QString &styleDescription,
323 const QString &uiFileContent,
bool useAsDefault, QString &errCause );
329 virtual QString loadStyle(
const QString &uri, QString &errCause );
335 virtual bool createDb(
const QString &dbPath, QString &errCause );
385 template <
typename T> QMap<QString, T *>connections(
bool cached =
true );
433 template <
class T_prov
ider_conn,
class T_conn> QMap<QString, QgsAbstractProviderConnection *> connectionsProtected(
bool cached =
true )
435 if ( ! cached || mProviderConnections.isEmpty() )
437 qDeleteAll( mProviderConnections );
438 mProviderConnections.clear();
439 const auto connNames { T_conn::connectionList() };
440 for (
const auto &cname : connNames )
442 mProviderConnections.insert( cname,
new T_provider_conn( cname ) );
445 return mProviderConnections;
448 template <
class T_prov
ider_conn>
void deleteConnectionProtected(
const QString &name )
450 T_provider_conn conn( name );
452 mProviderConnections.clear();
456 QMap<QString, QgsAbstractProviderConnection *> mProviderConnections;
467 QString mDescription;
473 CreateDataProviderFunction mCreateFunction =
nullptr;
477 #endif //QGSPROVIDERMETADATA_H
DataType
Raster data types.
Container of fields for a vector layer.
Abstract base class for spatial data provider implementations.
const QgsCoordinateReferenceSystem & crs
The QgsAbstractProviderConnection provides an interface for data provider connections.
Type
The WKB type describes the number of dimensions a geometry has.
Base class for all items in the model.
Setting options for creating vector data providers.
This class allows including a set of layers in a database-side transaction, provided the layer data p...
This class represents a coordinate reference system (CRS).
This is the interface for those who want to add custom data items to the browser tree.
Custom exception class for provider connection related exceptions.
Base class for raster data providers.