mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
Allow 3rd-party data item providers to be plugged
This commit is contained in:
parent
68c5e39ac6
commit
d6f0dbd403
@ -13,6 +13,12 @@ class QgsDataItemProviderRegistry
|
||||
//! Get list of available providers
|
||||
QList<QgsDataItemProvider*> providers() const;
|
||||
|
||||
//! Add a provider implementation. Takes ownership of the object.
|
||||
void addProvider( QgsDataItemProvider* provider /Transfer/ );
|
||||
|
||||
//! Remove provider implementation from the list (provider object is deleted)
|
||||
void removeProvider( QgsDataItemProvider* provider );
|
||||
|
||||
private:
|
||||
QgsDataItemProviderRegistry();
|
||||
|
||||
|
@ -84,3 +84,14 @@ QgsDataItemProviderRegistry::~QgsDataItemProviderRegistry()
|
||||
qDeleteAll( mProviders );
|
||||
}
|
||||
|
||||
void QgsDataItemProviderRegistry::addProvider( QgsDataItemProvider* provider )
|
||||
{
|
||||
mProviders.append( provider );
|
||||
}
|
||||
|
||||
void QgsDataItemProviderRegistry::removeProvider( QgsDataItemProvider* provider )
|
||||
{
|
||||
int index = mProviders.indexOf( provider );
|
||||
if ( index >= 0 )
|
||||
delete mProviders.takeAt( index );
|
||||
}
|
||||
|
@ -36,6 +36,12 @@ class CORE_EXPORT QgsDataItemProviderRegistry : public QgsSingleton<QgsDataItemP
|
||||
//! Get list of available providers
|
||||
QList<QgsDataItemProvider*> providers() const { return mProviders; }
|
||||
|
||||
//! Add a provider implementation. Takes ownership of the object.
|
||||
void addProvider( QgsDataItemProvider* provider );
|
||||
|
||||
//! Remove provider implementation from the list (provider object is deleted)
|
||||
void removeProvider( QgsDataItemProvider* provider );
|
||||
|
||||
private:
|
||||
QgsDataItemProviderRegistry();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user