19 #ifndef QGSPROVIDERREGISTRY_H
20 #define QGSPROVIDERREGISTRY_H
30 #include "qgis_core.h"
104 Q_DECL_DEPRECATED QString library(
const QString &providerKey )
const SIP_DEPRECATED;
107 QString pluginList(
bool asHtml =
false )
const;
112 QDir libraryDirectory()
const;
115 void setLibraryDirectory(
const QDir &path );
145 const QString &dataSource,
147 QgsDataProvider::ReadFlags flags = QgsDataProvider::ReadFlags() )
SIP_TRANSFERBACK;
155 Q_DECL_DEPRECATED
int providerCapabilities( const QString &providerKey ) const
SIP_DEPRECATED;
162 SIP_SKIP QgsVectorLayerExporter::ExportError 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 );
171 const QString &providerKey,
173 const QString &format,
176 int width,
int height,
177 double *geoTransform,
179 const QStringList &createOptions = QStringList() )
SIP_FACTORY;
186 QList<QPair<QString, QString> > pyramidResamplingMethods( const QString &providerKey );
196 QVariantMap decodeUri( const QString &providerKey, const QString &uri );
207 QString encodeUri( const QString &providerKey, const QVariantMap &parts );
229 int listStyles( const QString &providerKey,
233 QStringList &descriptions,
241 QString getStyleById( const QString &providerKey, const QString &uri, QString styleId, QString &errCause );
247 bool deleteStyleById( const QString &providerKey, const QString &uri, QString styleId, QString &errCause );
254 bool saveStyle( const QString &providerKey, const QString &uri, const QString &qmlStyle, const QString &sldStyle,
255 const QString &styleName, const QString &styleDescription,
256 const QString &uiFileContent,
bool useAsDefault, QString &errCause );
262 QString loadStyle( const QString &providerKey, const QString &uri, QString &errCause );
268 bool createDb( const QString &providerKey, const QString &dbPath, QString &errCause );
286 Q_DECL_DEPRECATED QFunctionPointer function( const QString &providerKey, const QString &functionName )
SIP_DEPRECATED;
300 QStringList providerList() const;
321 : mMetadata( metadata )
322 , mLayerTypes( layerTypes )
334 QList<QgsMapLayerType>
layerTypes()
const {
return mLayerTypes; }
337 SIP_PYOBJECT __repr__();
339 QString str = QStringLiteral(
"<QgsProviderRegistry.ProviderCandidateDetails: %1>" ).arg( sipCpp->metadata()->key() );
340 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
347 QList< QgsMapLayerType > mLayerTypes;
367 QList< QgsProviderRegistry::ProviderCandidateDetails > preferredProvidersForUri(
const QString &uri )
const;
390 UnusableUriDetails(
const QString &uri = QString(),
const QString &warning = QString(),
const QList< QgsMapLayerType > &layerTypes = QList< QgsMapLayerType >() )
393 , layerTypes( layerTypes )
418 SIP_PYOBJECT __repr__();
420 QString str = QStringLiteral(
"<QgsProviderRegistry.UnusableUriDetails: %1>" ).arg( sipCpp->warning );
421 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
511 bool shouldDeferUriForOtherProviders(
const QString &uri,
const QString &providerKey )
const;
526 bool uriIsBlocklisted(
const QString &uri )
const;
538 QString fileVectorFilters()
const;
552 QString fileRasterFilters()
const;
567 QString fileMeshFilters()
const;
579 QString fileMeshDatasetFilters()
const;
593 QString filePointCloudFilters()
const;
596 QString databaseDrivers()
const;
598 QString directoryDrivers()
const;
600 QString protocolDrivers()
const;
605 Q_DECL_DEPRECATED
void registerGuis( QWidget *widget )
SIP_DEPRECATED;
633 QDir mLibraryDirectory;
644 QString mVectorFileFilters;
649 QString mRasterFileFilters;
654 QString mMeshFileFilters;
659 QString mMeshDatasetFileFilters;
664 QString mPointCloudFileFilters;
672 QString mDatabaseDrivers;
679 QString mDirectoryDrivers;
687 QString mProtocolDrivers;
689 QList< UnusableUriHandlerInterface * > mUnusableUriHandlers;
694 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.
Container of fields for a vector layer.
Contains information pertaining to a candidate provider.
QList< QgsMapLayerType > layerTypes() const
Returns a list of map layer types which are valid options for opening the target using this candidate...
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.
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().
Base class for raster data providers.
This class allows including a set of layers in a database-side transaction, provided the layer data p...
A convenience class for exporting vector layers to a destination data provider.
Represents a vector layer which manages a vector based data sets.
Handles storage of information regarding WKB types and their properties.
const QgsCoordinateReferenceSystem & crs
Setting options for creating vector data providers.