#include <qgsproviderregistry.h>
Collaboration diagram for QgsProviderRegistry:

This is a Singleton class that manages data provider access.
Definition at line 39 of file qgsproviderregistry.h.
Public Types | |
| typedef std::map< QString, QgsProviderMetadata * > | Providers |
| type for data provider metadata associative container | |
Public Member Functions | |
| virtual | ~QgsProviderRegistry () |
| Virtual dectructor. | |
| QString | library (QString const &providerKey) const |
| Return path for the library of the provider. | |
| QString | pluginList (bool asHtml=false) const |
| Return list of provider plugins found. | |
| const QDir & | libraryDirectory () const |
| return library directory where plugins are found | |
| void | setLibraryDirectory (QDir const &path) |
| Set library directory where to search for plugins. | |
| QgsDataProvider * | getProvider (const QString &providerKey, const QString &dataSource) |
| Create an instance of the provider. | |
| QStringList | providerList () const |
| Return list of available providers by their keys. | |
| const QgsProviderMetadata * | providerMetadata (const QString &providerKey) const |
| Return metadata of the provider or NULL if not found. | |
| virtual QString | fileVectorFilters () const |
| return vector file filter string | |
Static Public Member Functions | |
| static QgsProviderRegistry * | instance (QString pluginPath=QString::null) |
| means of accessing canonical single instance | |
Private Member Functions | |
| QgsProviderRegistry (QString pluginPath) | |
| ctor private since instance() creates it | |
Private Attributes | |
| Providers | mProviders |
| associative container of provider metadata handles | |
| QDir | mLibraryDirectory |
| directory in which provider plugins are installed | |
| QString | mVectorFileFilters |
| file filter string for vector files | |
Static Private Attributes | |
| static QgsProviderRegistry * | _instance |
| pointer to canonical Singleton object | |
| typedef std::map<QString, QgsProviderMetadata*> QgsProviderRegistry::Providers |
type for data provider metadata associative container
Definition at line 115 of file qgsproviderregistry.h.
| QgsProviderRegistry::~QgsProviderRegistry | ( | ) | [virtual] |
| QgsProviderRegistry::QgsProviderRegistry | ( | QString | pluginPath | ) | [private] |
ctor private since instance() creates it
Definition at line 57 of file qgsproviderregistry.cpp.
References cast_to_fptr(), QgsMessageOutput::createMessageOutput(), fileVectorFilters(), QgsMessageOutput::MessageText, mLibraryDirectory, mProviders, mVectorFileFilters, QgsDebugMsg, QgsMessageOutput::setMessage(), QgsMessageOutput::setTitle(), and QgsMessageOutput::showMessage().
Referenced by instance().
| QgsProviderRegistry * QgsProviderRegistry::instance | ( | QString | pluginPath = QString::null |
) | [static] |
means of accessing canonical single instance
Definition at line 44 of file qgsproviderregistry.cpp.
References _instance, and QgsProviderRegistry().
Referenced by QgsApplication::exitQgis(), QgsApplication::initQgis(), QgsRasterLayer::setDataProvider(), and QgsVectorLayer::setDataProvider().
| QString QgsProviderRegistry::library | ( | QString const & | providerKey | ) | const |
Return path for the library of the provider.
Definition at line 229 of file qgsproviderregistry.cpp.
References findMetadata_(), QgsProviderMetadata::library(), and mProviders.
Referenced by getProvider(), and QgsRasterLayer::setDataProvider().
| QString QgsProviderRegistry::pluginList | ( | bool | asHtml = false |
) | const |
Return list of provider plugins found.
Definition at line 242 of file qgsproviderregistry.cpp.
References mProviders.
| QDir const & QgsProviderRegistry::libraryDirectory | ( | ) | const |
return library directory where plugins are found
Definition at line 288 of file qgsproviderregistry.cpp.
References mLibraryDirectory.
| void QgsProviderRegistry::setLibraryDirectory | ( | QDir const & | path | ) |
Set library directory where to search for plugins.
Definition at line 282 of file qgsproviderregistry.cpp.
References mLibraryDirectory.
| QgsDataProvider * QgsProviderRegistry::getProvider | ( | const QString & | providerKey, | |
| const QString & | dataSource | |||
| ) |
Create an instance of the provider.
| providerKey | identificator of the provider | |
| dataSource | string containing data source for the provider |
Definition at line 307 of file qgsproviderregistry.cpp.
References cast_to_fptr(), QgsDataProvider::isValid(), library(), QgsDataProvider::name(), QgsDebugMsg, and QgsLogger::warning().
| QStringList QgsProviderRegistry::providerList | ( | ) | const |
Return list of available providers by their keys.
Definition at line 413 of file qgsproviderregistry.cpp.
References mProviders.
| const QgsProviderMetadata * QgsProviderRegistry::providerMetadata | ( | const QString & | providerKey | ) | const |
Return metadata of the provider or NULL if not found.
Definition at line 424 of file qgsproviderregistry.cpp.
References findMetadata_(), and mProviders.
| QString QgsProviderRegistry::fileVectorFilters | ( | ) | const [virtual] |
return 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.
Definition at line 407 of file qgsproviderregistry.cpp.
References mVectorFileFilters.
Referenced by QgsProviderRegistry().
QgsProviderRegistry * QgsProviderRegistry::_instance [static, private] |
pointer to canonical Singleton object
Definition at line 124 of file qgsproviderregistry.h.
Referenced by instance().
Providers QgsProviderRegistry::mProviders [private] |
associative container of provider metadata handles
Definition at line 127 of file qgsproviderregistry.h.
Referenced by library(), pluginList(), providerList(), providerMetadata(), and QgsProviderRegistry().
QDir QgsProviderRegistry::mLibraryDirectory [private] |
directory in which provider plugins are installed
Definition at line 130 of file qgsproviderregistry.h.
Referenced by libraryDirectory(), QgsProviderRegistry(), and setLibraryDirectory().
QString QgsProviderRegistry::mVectorFileFilters [private] |
file filter string for vector files
Built once when registry is constructed by appending strings returned from iteratively calling vectorFileFilter() for each visited data provider. The alternative would have been to do this each time fileVectorFilters was invoked; instead we only have to build it the one time.
Definition at line 140 of file qgsproviderregistry.h.
Referenced by fileVectorFilters(), and QgsProviderRegistry().
1.5.1