23 qDeleteAll( mBackends.values() );
28 return mBackends.value( type,
nullptr );
33 for (
auto it = mBackends.constBegin(); it != mBackends.constEnd(); ++it )
36 QString scheme = storage->
type() +
':';
37 if ( uri.startsWith( scheme ) )
45 return mBackends.values();
50 mBackends.insert( storage->
type(), storage );
55 delete mBackends.take( storage->
type() );
void unregisterProjectStorage(QgsProjectStorage *storage)
Unregisters a storage backend and destroys its instance.
virtual QString type()=0
Unique identifier of the project storage type.
QgsProjectStorage * projectStorageFromType(const QString &type)
Returns storage implementation if the storage type matches one. Returns null pointer otherwise (it is...
~QgsProjectStorageRegistry()
QList< QgsProjectStorage * > projectStorages() const
Returns a list of registered project storage implementations.
Abstract interface for project storage - to be implemented by various backends and registered in QgsP...
QgsProjectStorage * projectStorageFromUri(const QString &uri)
Returns storage implementation if the URI matches one. Returns null pointer otherwise (it is a normal...
void registerProjectStorage(QgsProjectStorage *storage)
Registers a storage backend and takes ownership of it.