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,
157 Q_DECL_DEPRECATED
Qgis::DataItemProviderCapabilities providerCapabilities( const QString &providerKey ) const
SIP_DEPRECATED;
164 SIP_SKIP Qgis::VectorExportResult createEmptyLayer( const QString &providerKey, const QString &uri, const
QgsFields &fields,
Qgis::WkbType wkbType, const
QgsCoordinateReferenceSystem &srs,
bool overwrite, QMap<
int,
int> &oldToNewAttrIdxMap, QString &errorMessage, const QMap<QString, QVariant> *options );
173 const QString &providerKey,
175 const QString &format,
178 int width,
int height,
179 double *geoTransform,
181 const QStringList &createOptions = QStringList() )
SIP_FACTORY;
188 QList<QPair<QString, QString> > pyramidResamplingMethods( const QString &providerKey );
198 QVariantMap decodeUri( const QString &providerKey, const QString &uri );
209 QString encodeUri( const QString &providerKey, const QVariantMap &parts );
222 QString absoluteToRelativeUri( const QString &providerKey, const QString &uri, const
QgsReadWriteContext &context ) const;
235 QString relativeToAbsoluteUri( const QString &providerKey, const QString &uri, const
QgsReadWriteContext &context ) const;
257 int listStyles( const QString &providerKey,
261 QStringList &descriptions,
276 bool styleExists( const QString &providerKey, const QString &uri, const QString &styleId, QString &errorCause
SIP_OUT );
285 QString getStyleById( const QString &providerKey, const QString &uri, const QString &styleId, QString &errCause );
291 bool deleteStyleById( const QString &providerKey, const QString &uri, const QString &styleId, QString &errCause );
298 bool saveStyle( const QString &providerKey, const QString &uri, const QString &qmlStyle, const QString &sldStyle,
299 const QString &styleName, const QString &styleDescription,
300 const QString &uiFileContent,
bool useAsDefault, QString &errCause );
307 QString loadStyle( const QString &providerKey, const QString &uri, QString &errCause );
318 QString loadStoredStyle( const QString &providerKey, const QString &uri, QString &styleName, QString &errCause );
341 bool createDb( const QString &providerKey, const QString &dbPath, QString &errCause );
359 Q_DECL_DEPRECATED QFunctionPointer function( const QString &providerKey, const QString &functionName ) const
SIP_DEPRECATED;
373 QStringList providerList() const;
384 QSet< QString > providersForLayerType(
Qgis::LayerType type ) const;
402 : mMetadata( metadata )
403 , mLayerTypes( layerTypes )
415 QList<Qgis::LayerType>
layerTypes()
const {
return mLayerTypes; }
418 SIP_PYOBJECT __repr__();
420 QString
str = QStringLiteral(
"<QgsProviderRegistry.ProviderCandidateDetails: %1>" ).arg( sipCpp->metadata()->key() );
421 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
428 QList< Qgis::LayerType > mLayerTypes;
448 QList< QgsProviderRegistry::ProviderCandidateDetails > preferredProvidersForUri(
const QString &uri )
const;
471 UnusableUriDetails(
const QString &uri = QString(),
const QString &warning = QString(),
const QList< Qgis::LayerType > &layerTypes = QList< Qgis::LayerType >() )
474 , layerTypes( layerTypes )
499 SIP_PYOBJECT __repr__();
501 QString
str = QStringLiteral(
"<QgsProviderRegistry.UnusableUriDetails: %1>" ).arg( sipCpp->warning );
502 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
592 bool shouldDeferUriForOtherProviders(
const QString &uri,
const QString &providerKey )
const;
607 bool uriIsBlocklisted(
const QString &uri )
const;
634 QString fileVectorFilters()
const;
650 QString fileRasterFilters()
const;
667 QString fileMeshFilters()
const;
679 QString fileMeshDatasetFilters()
const;
695 QString filePointCloudFilters()
const;
711 QString fileVectorTileFilters()
const;
727 QString fileTiledSceneFilters()
const;
730 QString databaseDrivers()
const;
732 QString directoryDrivers()
const;
734 QString protocolDrivers()
const;
739 Q_DECL_DEPRECATED
void registerGuis( QWidget *widget )
SIP_DEPRECATED;
767 QDir mLibraryDirectory;
769 void rebuildFilterStrings();
780 QString mVectorFileFilters;
785 QString mRasterFileFilters;
790 QString mMeshFileFilters;
795 QString mMeshDatasetFileFilters;
800 QString mPointCloudFileFilters;
805 QString mVectorTileFileFilters;
810 QString mTiledSceneFileFilters;
818 QString mDatabaseDrivers;
825 QString mDirectoryDrivers;
833 QString mProtocolDrivers;
835 QList< UnusableUriHandlerInterface * > mUnusableUriHandlers;
840 static bool exists();
The Qgis class provides global constants for use throughout the application.
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
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.
QFlags< ReadFlag > ReadFlags
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.
QList< Qgis::LayerType > layerTypes() const
Returns a list of map layer types which are valid options for opening the target using this candidate...
QgsProviderMetadata * metadata() const
Returns the candidate provider metadata.
ProviderCandidateDetails(QgsProviderMetadata *metadata, const QList< Qgis::LayerType > &layerTypes)
Constructor for ProviderCandidateDetails, with the specified provider metadata and valid candidate la...
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.
QString uri
URI which could not be handled.
QString detailedWarning
Contains a longer, user-friendly, translated message advising why the URI is not usable.
UnusableUriDetails(const QString &uri=QString(), const QString &warning=QString(), const QList< Qgis::LayerType > &layerTypes=QList< Qgis::LayerType >())
Constructor for UnusableUriDetails for the given uri, with the specified user-friendly,...
QList< Qgis::LayerType > 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.
The class is used as a container of context for various read/write operations on other objects.
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.
#define SIP_THROW(name,...)
const QgsCoordinateReferenceSystem & crs
Setting options for creating vector data providers.