19#ifndef QGSPROVIDERREGISTRY_H
20#define QGSPROVIDERREGISTRY_H
107 Q_DECL_DEPRECATED QString library(
const QString &providerKey )
const SIP_DEPRECATED;
110 QString pluginList(
bool asHtml =
false )
const;
115 QDir libraryDirectory()
const;
118 void setLibraryDirectory(
const QDir &path );
148 const QString &dataSource,
150 QgsDataProvider::ReadFlags flags = QgsDataProvider::ReadFlags() )
SIP_TRANSFERBACK;
158 Q_DECL_DEPRECATED
int providerCapabilities( const QString &providerKey ) const
SIP_DEPRECATED;
165 SIP_SKIP Qgis::VectorExportResult createEmptyLayer( const QString &providerKey, const QString &uri, const
QgsFields &fields,
QgsWkbTypes::Type wkbType, const
QgsCoordinateReferenceSystem &srs,
bool overwrite, QMap<
int,
int> &oldToNewAttrIdxMap, QString &errorMessage, const QMap<QString, QVariant> *options );
174 const QString &providerKey,
176 const QString &format,
179 int width,
int height,
180 double *geoTransform,
182 const QStringList &createOptions = QStringList() )
SIP_FACTORY;
189 QList<QPair<QString, QString> > pyramidResamplingMethods( const QString &providerKey );
199 QVariantMap decodeUri( const QString &providerKey, const QString &uri );
210 QString encodeUri( const QString &providerKey, const QVariantMap &parts );
232 int listStyles( const QString &providerKey,
236 QStringList &descriptions,
251 bool styleExists( const QString &providerKey, const QString &uri, const QString &styleId, QString &errorCause
SIP_OUT );
260 QString getStyleById( const QString &providerKey, const QString &uri, const QString &styleId, QString &errCause );
266 bool deleteStyleById( const QString &providerKey, const QString &uri, const QString &styleId, QString &errCause );
273 bool saveStyle( const QString &providerKey, const QString &uri, const QString &qmlStyle, const QString &sldStyle,
274 const QString &styleName, const QString &styleDescription,
275 const QString &uiFileContent,
bool useAsDefault, QString &errCause );
281 QString loadStyle( const QString &providerKey, const QString &uri, QString &errCause );
304 bool createDb( const QString &providerKey, const QString &dbPath, QString &errCause );
322 Q_DECL_DEPRECATED QFunctionPointer function( const QString &providerKey, const QString &functionName ) const
SIP_DEPRECATED;
336 QStringList providerList() const;
365 : mMetadata( metadata )
366 , mLayerTypes( layerTypes )
378 QList<QgsMapLayerType>
layerTypes()
const {
return mLayerTypes; }
381 SIP_PYOBJECT __repr__();
383 QString
str = QStringLiteral(
"<QgsProviderRegistry.ProviderCandidateDetails: %1>" ).arg( sipCpp->metadata()->key() );
384 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
391 QList< QgsMapLayerType > mLayerTypes;
411 QList< QgsProviderRegistry::ProviderCandidateDetails > preferredProvidersForUri(
const QString &uri )
const;
434 UnusableUriDetails(
const QString &uri = QString(),
const QString &warning = QString(),
const QList< QgsMapLayerType > &layerTypes = QList< QgsMapLayerType >() )
437 , layerTypes( layerTypes )
462 SIP_PYOBJECT __repr__();
464 QString
str = QStringLiteral(
"<QgsProviderRegistry.UnusableUriDetails: %1>" ).arg( sipCpp->warning );
465 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
555 bool shouldDeferUriForOtherProviders(
const QString &uri,
const QString &providerKey )
const;
570 bool uriIsBlocklisted(
const QString &uri )
const;
583 QList< QgsProviderSublayerDetails > querySublayers(
const QString &uri, Qgis::SublayerQueryFlags flags = Qgis::SublayerQueryFlags(),
QgsFeedback *feedback =
nullptr )
const;
595 QString fileVectorFilters()
const;
609 QString fileRasterFilters()
const;
624 QString fileMeshFilters()
const;
636 QString fileMeshDatasetFilters()
const;
650 QString filePointCloudFilters()
const;
653 QString databaseDrivers()
const;
655 QString directoryDrivers()
const;
657 QString protocolDrivers()
const;
662 Q_DECL_DEPRECATED
void registerGuis( QWidget *widget )
SIP_DEPRECATED;
690 QDir mLibraryDirectory;
701 QString mVectorFileFilters;
706 QString mRasterFileFilters;
711 QString mMeshFileFilters;
716 QString mMeshDatasetFileFilters;
721 QString mPointCloudFileFilters;
729 QString mDatabaseDrivers;
736 QString mDirectoryDrivers;
744 QString mProtocolDrivers;
746 QList< UnusableUriHandlerInterface * > mUnusableUriHandlers;
751 static bool exists();
The Qgis class provides global constants for use throughout the application.
Extends QApplication to provide access to QGIS specific resources such as theme paths,...
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.
Base class for all items in the model.
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.
Contains information pertaining to a candidate provider.
ProviderCandidateDetails(QgsProviderMetadata *metadata, const QList< QgsMapLayerType > &layerTypes)
Constructor for ProviderCandidateDetails, with the specified provider metadata and valid candidate la...
QgsProviderMetadata * metadata() const
Returns the candidate provider metadata.
QList< QgsMapLayerType > layerTypes() const
Returns a list of map layer types which are valid options for opening the target using this candidate...
Contains information about unusable URIs which aren't handled by any registered providers.
QString warning
Contains a short, user-friendly, translated message advising why the URI is not usable.
UnusableUriDetails(const QString &uri=QString(), const QString &warning=QString(), const QList< QgsMapLayerType > &layerTypes=QList< QgsMapLayerType >())
Constructor for UnusableUriDetails for the given uri, with the specified user-friendly,...
QString uri
URI which could not be handled.
QString detailedWarning
Contains a longer, user-friendly, translated message advising why the URI is not usable.
QList< QgsMapLayerType > layerTypes
Contains a list of map layer types which are usually valid options for opening the target URI.
An interface used to handle unusable URIs which aren't handled by any registered providers,...
virtual ~UnusableUriHandlerInterface()=default
virtual UnusableUriDetails details(const QString &uri) const =0
Returns the details for advising the user why the uri is not usable.
virtual bool matchesUri(const QString &uri) const =0
Returns true if the handle is an unusable URI handler for the specified uri.
A registry / canonical manager of data providers.
std::map< QString, QgsProviderMetadata * > Providers
Type for data provider metadata associative container.
WidgetMode
Different ways a source select dialog can be used.
@ Embedded
Used for the data source manager dialog where the widget is embedded as the main content for a partic...
@ None
Basic mode when the widget is used as a standalone dialog.
@ Manager
Used by data items for QgsDataItem::paramWidget().
Contains details about a sub layer available from a dataset.
Base class for raster data providers.
This class allows including a set of layers in a database-side transaction, provided the layer data p...
Represents a vector layer which manages a vector based data sets.
Handles storage of information regarding WKB types and their properties.
QgsMapLayerType
Types of layers that can be added to a map.
#define SIP_THROW(name,...)
const QgsCoordinateReferenceSystem & crs
Setting options for creating vector data providers.