QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
A registry / canonical manager of data providers. More...
#include <qgsproviderregistry.h>
Public Types | |
typedef std::map< QString, QgsProviderMetadata * > | Providers |
Type for data provider metadata associative container. More... | |
enum | WidgetMode { None, Embedded, Manager } |
Different ways a source select dialog can be used. More... | |
Public Member Functions | |
virtual | ~QgsProviderRegistry () |
bool | createDb (const QString &providerKey, const QString &dbPath, QString &errCause) |
Creates database by the provider on the path. More... | |
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) |
Creates new empty vector layer. More... | |
QgsDataProvider * | createProvider (const QString &providerKey, const QString &dataSource, const QgsDataProvider::ProviderOptions &options=QgsDataProvider::ProviderOptions(), QgsDataProvider::ReadFlags flags=QgsDataProvider::ReadFlags()) |
Creates a new instance of a provider. More... | |
Q_DECL_DEPRECATED QLibrary * | createProviderLibrary (const QString &providerKey) const |
Returns a new QLibrary for the specified providerKey. More... | |
virtual QgsRasterDataProvider * | createRasterDataProvider (const QString &providerKey, const QString &uri, const QString &format, int nBands, Qgis::DataType type, int width, int height, double *geoTransform, const QgsCoordinateReferenceSystem &crs, const QStringList &createOptions=QStringList()) |
Creates new instance of raster data provider. More... | |
Q_DECL_DEPRECATED QWidget * | createSelectionWidget (const QString &providerKey, QWidget *parent=nullptr, Qt::WindowFlags fl=Qt::WindowFlags(), QgsProviderRegistry::WidgetMode widgetMode=QgsProviderRegistry::WidgetMode::None) |
Returns a new widget for selecting layers from a provider. More... | |
QgsTransaction * | createTransaction (const QString &providerKey, const QString &connString) |
Returns new instance of transaction. More... | |
virtual QString | databaseDrivers () const |
Returns a string containing the available database drivers. More... | |
QList< QgsDataItemProvider * > | dataItemProviders (const QString &providerKey) const |
Returns list of data item providers of the provider. More... | |
QVariantMap | decodeUri (const QString &providerKey, const QString &uri) |
Breaks a provider data source URI into its component paths (e.g. More... | |
bool | deleteStyleById (const QString &providerKey, const QString &uri, QString styleId, QString &errCause) |
Deletes a layer style defined by styleId. More... | |
virtual QString | directoryDrivers () const |
Returns a string containing the available directory drivers. More... | |
QString | encodeUri (const QString &providerKey, const QVariantMap &parts) |
Reassembles a provider data source URI from its component paths (e.g. More... | |
virtual QString | fileMeshDatasetFilters () const |
Returns mesh's dataset file filter string. More... | |
virtual QString | fileMeshFilters () const |
Returns mesh file filter string. More... | |
virtual QString | fileRasterFilters () const |
Returns raster file filter string. More... | |
virtual QString | fileVectorFilters () const |
Returns vector file filter string. More... | |
Q_DECL_DEPRECATED QFunctionPointer | function (const QString &providerKey, const QString &functionName) |
Gets pointer to provider function. More... | |
QString | getStyleById (const QString &providerKey, const QString &uri, QString styleId, QString &errCause) |
Gets a layer style defined by styleId. More... | |
Q_DECL_DEPRECATED QString | library (const QString &providerKey) const |
Returns path for the library of the provider. More... | |
QDir | libraryDirectory () const |
Returns the library directory where plugins are found. More... | |
int | listStyles (const QString &providerKey, const QString &uri, QStringList &ids, QStringList &names, QStringList &descriptions, QString &errCause) |
Lists stored layer styles in the provider defined by providerKey and uri. More... | |
QString | loadStyle (const QString &providerKey, const QString &uri, QString &errCause) |
Loads a layer style defined by uri. More... | |
QString | pluginList (bool asHtml=false) const |
Returns list of provider plugins found. More... | |
virtual QString | protocolDrivers () const |
Returns a string containing the available protocol drivers. More... | |
Q_DECL_DEPRECATED int | providerCapabilities (const QString &providerKey) const |
Returns the provider capabilities. More... | |
QStringList | providerList () const |
Returns list of available providers by their keys. More... | |
QgsProviderMetadata * | providerMetadata (const QString &providerKey) const |
Returns metadata of the provider or nullptr if not found. More... | |
QList< QPair< QString, QString > > | pyramidResamplingMethods (const QString &providerKey) |
Returns list of raster pyramid resampling methods. More... | |
Q_DECL_DEPRECATED void | registerGuis (QWidget *widget) |
bool | registerProvider (QgsProviderMetadata *providerMetadata) |
register a new vector data provider from its providerMetadata More... | |
bool | saveStyle (const QString &providerKey, const QString &uri, const QString &qmlStyle, const QString &sldStyle, const QString &styleName, const QString &styleDescription, const QString &uiFileContent, bool useAsDefault, QString &errCause) |
Saves a layer style to provider. More... | |
void | setLibraryDirectory (const QDir &path) |
Sets library directory where to search for plugins. More... | |
Static Public Member Functions | |
static QgsProviderRegistry * | instance (const QString &pluginPath=QString()) |
Means of accessing canonical single instance. More... | |
Friends | |
class | QgsApplication |
A registry / canonical manager of data providers.
This is a Singleton class that manages data provider access.
Providers can be either loaded via libraries or native providers that are included in the core QGIS installation and accessed through function pointers.
Loaded providers may be restricted using QGIS_PROVIDER_FILE environment variable. QGIS_PROVIDER_FILE is regexp pattern applied to provider file name (not provider key). For example, if the variable is set to gdal|ogr|postgres it will load only providers gdal, ogr and postgres.
Definition at line 54 of file qgsproviderregistry.h.
typedef std::map<QString, QgsProviderMetadata *> QgsProviderRegistry::Providers |
Type for data provider metadata associative container.
Definition at line 364 of file qgsproviderregistry.h.
Different ways a source select dialog can be used.
Enumerator | |
---|---|
None | Basic mode when the widget is used as a standalone dialog. Originally used as GUI for individual "Add XXX layer" buttons in the main window. Likely not used in live code anymore. |
Embedded | Used for the data source manager dialog where the widget is embedded as the main content for a particular tab. |
Manager | Used by data items for QgsDataItem::paramWidget(). Originally used by QGIS Browser, but does not seem to be in live code anymore. The mode was meant to avoid some actions to keep the browser interface simple (supposedly). |
Definition at line 64 of file qgsproviderregistry.h.
|
virtual |
Definition at line 330 of file qgsproviderregistry.cpp.
bool QgsProviderRegistry::createDb | ( | const QString & | providerKey, |
const QString & | dbPath, | ||
QString & | errCause | ||
) |
Creates database by the provider on the path.
Definition at line 577 of file qgsproviderregistry.cpp.
QgsVectorLayerExporter::ExportError QgsProviderRegistry::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 | ||
) |
Creates new empty vector layer.
Definition at line 451 of file qgsproviderregistry.cpp.
QgsDataProvider * QgsProviderRegistry::createProvider | ( | const QString & | providerKey, |
const QString & | dataSource, | ||
const QgsDataProvider::ProviderOptions & | options = QgsDataProvider::ProviderOptions() , |
||
QgsDataProvider::ReadFlags | flags = QgsDataProvider::ReadFlags() |
||
) |
Creates a new instance of a provider.
providerKey | identifier of the provider |
dataSource | string containing data source for the provider |
options | provider options |
flags | provider flags since QGIS 3.16 |
nullptr
on errorDefinition at line 404 of file qgsproviderregistry.cpp.
QLibrary * QgsProviderRegistry::createProviderLibrary | ( | const QString & | providerKey | ) | const |
Returns a new QLibrary for the specified providerKey.
Ownership of the returned object is transferred to the caller and the caller is responsible for deleting it.
If the provider uses direct provider function pointers instead of a library nullptr
will be returned.
Definition at line 633 of file qgsproviderregistry.cpp.
|
virtual |
Creates new instance of raster data provider.
Definition at line 474 of file qgsproviderregistry.cpp.
QWidget * QgsProviderRegistry::createSelectionWidget | ( | const QString & | providerKey, |
QWidget * | parent = nullptr , |
||
Qt::WindowFlags | fl = Qt::WindowFlags() , |
||
QgsProviderRegistry::WidgetMode | widgetMode = QgsProviderRegistry::WidgetMode::None |
||
) |
Returns a new widget for selecting layers from a provider.
Either the parent widget must be set or the caller becomes responsible for deleting the returned widget.
Definition at line 598 of file qgsproviderregistry.cpp.
QgsTransaction * QgsProviderRegistry::createTransaction | ( | const QString & | providerKey, |
const QString & | connString | ||
) |
Returns new instance of transaction.
Ownership is transferred to the caller
Definition at line 589 of file qgsproviderregistry.cpp.
|
virtual |
Returns a string containing the available database drivers.
Definition at line 699 of file qgsproviderregistry.cpp.
QList< QgsDataItemProvider * > QgsProviderRegistry::dataItemProviders | ( | const QString & | providerKey | ) | const |
Returns list of data item providers of the provider.
Definition at line 495 of file qgsproviderregistry.cpp.
QVariantMap QgsProviderRegistry::decodeUri | ( | const QString & | providerKey, |
const QString & | uri | ||
) |
Breaks a provider data source URI into its component paths (e.g.
file path, layer name).
providerKey | identifier of the provider |
uri | uri string |
Definition at line 433 of file qgsproviderregistry.cpp.
bool QgsProviderRegistry::deleteStyleById | ( | const QString & | providerKey, |
const QString & | uri, | ||
QString | styleId, | ||
QString & | errCause | ||
) |
Deletes a layer style defined by styleId.
Definition at line 534 of file qgsproviderregistry.cpp.
|
virtual |
Returns a string containing the available directory drivers.
Definition at line 704 of file qgsproviderregistry.cpp.
QString QgsProviderRegistry::encodeUri | ( | const QString & | providerKey, |
const QVariantMap & | parts | ||
) |
Reassembles a provider data source URI from its component paths (e.g.
file path, layer name).
providerKey | identifier of the provider |
parts | parts as returned by decodeUri |
Definition at line 442 of file qgsproviderregistry.cpp.
|
virtual |
Returns mesh's dataset file filter string.
Returns a string suitable for a QFileDialog of mesh datasets file formats supported by all data providers.
This walks through all data providers appending calls to their fileMeshFilters to a string, which is then returned.
Definition at line 694 of file qgsproviderregistry.cpp.
|
virtual |
Returns mesh file filter string.
Returns a string suitable for a QFileDialog of mesh file formats supported by all data providers.
This walks through all data providers appending calls to their fileMeshFilters to a string, which is then returned.
Definition at line 689 of file qgsproviderregistry.cpp.
|
virtual |
Returns raster file filter string.
Returns a string suitable for a QFileDialog of raster file formats supported by all data providers.
This walks through all data providers appending calls to their buildSupportedRasterFileFilter to a string, which is then returned.
Definition at line 684 of file qgsproviderregistry.cpp.
|
virtual |
Returns vector file filter string.
Returns a string suitable for a QFileDialog of vector file formats supported by all data providers.
This walks through all data providers appending calls to their fileVectorFilters to a string, which is then returned.
It'd be nice to eventually be raster/vector neutral.
Definition at line 679 of file qgsproviderregistry.cpp.
QFunctionPointer QgsProviderRegistry::function | ( | const QString & | providerKey, |
const QString & | functionName | ||
) |
Gets pointer to provider function.
providerKey | identifier of the provider |
functionName | name of function |
nullptr
on error. If the provider uses direct provider function pointers instead of a library nullptr
will be returned.Definition at line 609 of file qgsproviderregistry.cpp.
QString QgsProviderRegistry::getStyleById | ( | const QString & | providerKey, |
const QString & | uri, | ||
QString | styleId, | ||
QString & | errCause | ||
) |
Gets a layer style defined by styleId.
Definition at line 519 of file qgsproviderregistry.cpp.
|
static |
Means of accessing canonical single instance.
Definition at line 48 of file qgsproviderregistry.cpp.
QString QgsProviderRegistry::library | ( | const QString & | providerKey | ) | const |
Returns path for the library of the provider.
If the provider uses direct provider function pointers instead of a library an empty string will be returned.
Definition at line 337 of file qgsproviderregistry.cpp.
QDir QgsProviderRegistry::libraryDirectory | ( | ) | const |
Returns the library directory where plugins are found.
Definition at line 391 of file qgsproviderregistry.cpp.
int QgsProviderRegistry::listStyles | ( | const QString & | providerKey, |
const QString & | uri, | ||
QStringList & | ids, | ||
QStringList & | names, | ||
QStringList & | descriptions, | ||
QString & | errCause | ||
) |
Lists stored layer styles in the provider defined by providerKey and uri.
Definition at line 504 of file qgsproviderregistry.cpp.
QString QgsProviderRegistry::loadStyle | ( | const QString & | providerKey, |
const QString & | uri, | ||
QString & | errCause | ||
) |
Loads a layer style defined by uri.
Definition at line 564 of file qgsproviderregistry.cpp.
QString QgsProviderRegistry::pluginList | ( | bool | asHtml = false | ) | const |
Returns list of provider plugins found.
Definition at line 351 of file qgsproviderregistry.cpp.
|
virtual |
Returns a string containing the available protocol drivers.
Definition at line 709 of file qgsproviderregistry.cpp.
int QgsProviderRegistry::providerCapabilities | ( | const QString & | providerKey | ) | const |
Returns the provider capabilities.
providerKey | identifier of the provider |
Definition at line 421 of file qgsproviderregistry.cpp.
QStringList QgsProviderRegistry::providerList | ( | ) | const |
Returns list of available providers by their keys.
Definition at line 714 of file qgsproviderregistry.cpp.
QgsProviderMetadata * QgsProviderRegistry::providerMetadata | ( | const QString & | providerKey | ) | const |
Returns metadata of the provider or nullptr
if not found.
Definition at line 724 of file qgsproviderregistry.cpp.
QList< QPair< QString, QString > > QgsProviderRegistry::pyramidResamplingMethods | ( | const QString & | providerKey | ) |
Returns list of raster pyramid resampling methods.
Definition at line 486 of file qgsproviderregistry.cpp.
void QgsProviderRegistry::registerGuis | ( | QWidget * | widget | ) |
Definition at line 653 of file qgsproviderregistry.cpp.
bool QgsProviderRegistry::registerProvider | ( | QgsProviderMetadata * | providerMetadata | ) |
register a new vector data provider from its providerMetadata
true
on success, false
if a provider with the same key was already registered Definition at line 658 of file qgsproviderregistry.cpp.
bool QgsProviderRegistry::saveStyle | ( | const QString & | providerKey, |
const QString & | uri, | ||
const QString & | qmlStyle, | ||
const QString & | sldStyle, | ||
const QString & | styleName, | ||
const QString & | styleDescription, | ||
const QString & | uiFileContent, | ||
bool | useAsDefault, | ||
QString & | errCause | ||
) |
Saves a layer style to provider.
Definition at line 548 of file qgsproviderregistry.cpp.
void QgsProviderRegistry::setLibraryDirectory | ( | const QDir & | path | ) |
Sets library directory where to search for plugins.
Definition at line 384 of file qgsproviderregistry.cpp.
|
friend |
Definition at line 437 of file qgsproviderregistry.h.