25#include "moc_qgsdataitemproviderregistry.cpp"
33 const auto constProvidersList = providersList;
34 for (
const QString &key : constProvidersList )
37 mProviders << providerList;
38 for (
const auto &p : std::as_const( providerList ) )
40 if ( ! p->dataProviderKey().isEmpty() )
42 mDataItemProviderOrigin[ p->name() ] = p->dataProviderKey();
50 qDeleteAll( mProviders );
57 for (
const auto &p : std::as_const( mProviders ) )
59 if ( p->name() == providerName )
69 if ( !
provider->dataProviderKey().isEmpty() )
79 int index = mProviders.indexOf(
provider );
83 delete mProviders.takeAt( index );
89 return mDataItemProviderOrigin.value( dataItemProviderName, QString() );
QList< QgsDataItemProvider * > providers() const
Returns the list of available providers.
QString dataProviderKey(const QString &dataItemProviderName)
Returns the (possibly blank) data provider key for a given data item provider name.
~QgsDataItemProviderRegistry() override
void providerWillBeRemoved(QgsDataItemProvider *provider)
Emitted when a data item provider is about to be removed.
void removeProvider(QgsDataItemProvider *provider)
Removes a provider implementation from the registry.
void providerAdded(QgsDataItemProvider *provider)
Emitted when a new data item provider has been added.
void addProvider(QgsDataItemProvider *provider)
Adds a provider implementation to the registry.
QgsDataItemProviderRegistry()
QgsDataItemProvider * provider(const QString &providerName) const
Returns the (possibly nullptr) data item provider named providerName.
Interface for providers that add custom data items to the browser tree.
A data item provider for file based data sources.
static QgsProviderRegistry * instance(const QString &pluginPath=QString())
Means of accessing canonical single instance.
QList< QgsDataItemProvider * > dataItemProviders(const QString &providerKey) const
Returns list of data item providers of the provider.
QStringList providerList() const
Returns list of available providers by their keys.