Rename some QgsProviderRegistry methods to clarify that they are factories

- provider() was renamed to createProvider()
- selectWidget() was renamed to createSelectionWidget()
- providerLibrary() was renamed to createProviderLibrary()
This commit is contained in:
Nyall Dawson 2017-05-06 12:28:06 +10:00
parent 6502864c69
commit ba2fdf00ab
22 changed files with 69 additions and 61 deletions

View File

@ -1676,6 +1676,14 @@ QgsProjectPropertyValue {#qgis_api_break_3_0_QgsProjectPropertyValue}
- The unused count() and entryList() methods were removed.
QgsProviderRegistry {#qgis_api_break_3_0_QgsProviderRegistry}
-------------------
- provider() was renamed to createProvider()
- selectWidget() was renamed to createSelectionWidget()
- providerLibrary() was renamed to createProviderLibrary()
QgsRaster {#qgis_api_break_3_0_QgsRaster}
---------

View File

@ -69,10 +69,10 @@ Return list of provider plugins found
Set library directory where to search for plugins
%End
QgsDataProvider *provider( const QString &providerKey,
const QString &dataSource ) /Factory/;
QgsDataProvider *createProvider( const QString &providerKey,
const QString &dataSource ) /Factory/;
%Docstring
Create a new instance of a provider.
Creates a new instance of a provider.
\param providerKey identificator of the provider
\param dataSource string containing data source for the provider
:return: new instance of provider or NULL on error
@ -87,8 +87,8 @@ Set library directory where to search for plugins
:rtype: int
%End
QWidget *selectWidget( const QString &providerKey,
QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowFlags() );
QWidget *createSelectionWidget( const QString &providerKey,
QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowFlags() );
%Docstring
Returns a new widget for selecting layers from a provider.
Either the ``parent`` widget must be set or the caller becomes
@ -107,7 +107,7 @@ Set library directory where to search for plugins
:rtype: QFunctionPointer
%End
QLibrary *providerLibrary( const QString &providerKey ) const /Factory/;
QLibrary *createProviderLibrary( const QString &providerKey ) const /Factory/;
%Docstring
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.

View File

@ -768,8 +768,8 @@ class MetaSearchDialog(QDialog, BASE_CLASS):
self.settings.endGroup()
# open provider window
ows_provider = QgsProviderRegistry.instance().selectWidget(stype[2],
self)
ows_provider = QgsProviderRegistry.instance().createSelectionWidget(stype[2],
self)
service_type = stype[0]
# connect dialog signals to iface slots

View File

@ -4371,7 +4371,7 @@ void QgisApp::addDatabaseLayer()
QgsDebugMsg( "about to addRasterLayer" );
// TODO: QDialog for now, switch to QWidget in future
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "postgres" ), this ) );
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "postgres" ), this ) );
if ( !dbs )
{
QMessageBox::warning( this, tr( "PostgreSQL" ), tr( "Cannot get PostgreSQL select dialog from provider." ) );
@ -4461,7 +4461,7 @@ void QgisApp::addDatabaseLayers( QStringList const &layerPathList, QString const
void QgisApp::addSpatiaLiteLayer()
{
// show the SpatiaLite dialog
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "spatialite" ), this ) );
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "spatialite" ), this ) );
if ( !dbs )
{
QMessageBox::warning( this, tr( "SpatiaLite" ), tr( "Cannot get SpatiaLite select dialog from provider." ) );
@ -4476,7 +4476,7 @@ void QgisApp::addSpatiaLiteLayer()
void QgisApp::addDelimitedTextLayer()
{
// show the Delimited text dialog
QDialog *dts = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "delimitedtext" ), this ) );
QDialog *dts = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "delimitedtext" ), this ) );
if ( !dts )
{
QMessageBox::warning( this, tr( "Delimited Text" ), tr( "Cannot get Delimited Text select dialog from provider." ) );
@ -4491,7 +4491,7 @@ void QgisApp::addDelimitedTextLayer()
void QgisApp::addVirtualLayer()
{
// show the Delimited text dialog
QDialog *dts = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "virtual" ), this ) );
QDialog *dts = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "virtual" ), this ) );
if ( !dts )
{
QMessageBox::warning( this, tr( "Virtual layer" ), tr( "Cannot get virtual layer select dialog from provider." ) );
@ -4532,7 +4532,7 @@ void QgisApp::replaceSelectedVectorLayer( const QString &oldId, const QString &u
void QgisApp::addMssqlLayer()
{
// show the MSSQL dialog
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "mssql" ), this ) );
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "mssql" ), this ) );
if ( !dbs )
{
QMessageBox::warning( this, tr( "MSSQL" ), tr( "Cannot get MSSQL select dialog from provider." ) );
@ -4548,7 +4548,7 @@ void QgisApp::addDb2Layer()
{
// show the DB2 dialog
QgsDebugMsg( "Show dialog for DB2 " );
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "DB2" ), this ) );
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "DB2" ), this ) );
if ( !dbs )
{
QMessageBox::warning( this, tr( "DB2" ), tr( "Cannot get DB2 select dialog from provider." ) );
@ -4564,7 +4564,7 @@ void QgisApp::addOracleLayer()
{
#ifdef HAVE_ORACLE
// show the Oracle dialog
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( "oracle", this ) );
QDialog *dbs = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( "oracle", this ) );
if ( !dbs )
{
QMessageBox::warning( this, tr( "Oracle" ), tr( "Cannot get Oracle select dialog from provider." ) );
@ -4587,7 +4587,7 @@ void QgisApp::addWmsLayer()
QgsDebugMsg( "about to addRasterLayer" );
// TODO: QDialog for now, switch to QWidget in future
QDialog *wmss = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "wms" ), this ) );
QDialog *wmss = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "wms" ), this ) );
if ( !wmss )
{
QMessageBox::warning( this, tr( "WMS" ), tr( "Cannot get WMS select dialog from provider." ) );
@ -4604,7 +4604,7 @@ void QgisApp::addWcsLayer()
QgsDebugMsg( "about to addWcsLayer" );
// TODO: QDialog for now, switch to QWidget in future
QDialog *wcss = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "wcs" ), this ) );
QDialog *wcss = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "wcs" ), this ) );
if ( !wcss )
{
QMessageBox::warning( this, tr( "WCS" ), tr( "Cannot get WCS select dialog from provider." ) );
@ -4621,7 +4621,7 @@ void QgisApp::addWfsLayer()
QgsDebugMsg( "about to addWfsLayer" );
// TODO: QDialog for now, switch to QWidget in future
QDialog *wfss = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "WFS" ), this ) );
QDialog *wfss = dynamic_cast<QDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "WFS" ), this ) );
if ( !wfss )
{
QMessageBox::warning( this, tr( "WFS" ), tr( "Cannot get WFS select dialog from provider." ) );
@ -4650,7 +4650,7 @@ void QgisApp::addAfsLayer()
QgsDebugMsg( "about to addAfsLayer" );
// TODO: QDialog for now, switch to QWidget in future
QgsSourceSelectDialog *afss = dynamic_cast<QgsSourceSelectDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "arcgisfeatureserver" ), this ) );
QgsSourceSelectDialog *afss = dynamic_cast<QgsSourceSelectDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "arcgisfeatureserver" ), this ) );
if ( !afss )
{
QMessageBox::warning( this, tr( "ArcGIS Feature Server" ), tr( "Cannot get ArcGIS Feature Server select dialog from provider." ) );
@ -4684,7 +4684,7 @@ void QgisApp::addAmsLayer()
QgsDebugMsg( "about to addAmsLayer" );
// TODO: QDialog for now, switch to QWidget in future
QgsSourceSelectDialog *amss = dynamic_cast<QgsSourceSelectDialog *>( QgsProviderRegistry::instance()->selectWidget( QStringLiteral( "arcgismapserver" ), this ) );
QgsSourceSelectDialog *amss = dynamic_cast<QgsSourceSelectDialog *>( QgsProviderRegistry::instance()->createSelectionWidget( QStringLiteral( "arcgismapserver" ), this ) );
if ( !amss )
{
QMessageBox::warning( this, tr( "ArcGIS Map Server" ), tr( "Cannot get ArcGIS Map Server select dialog from provider." ) );

View File

@ -1116,7 +1116,7 @@ void QgsZipItem::init()
QgsDebugMsgLevel( "provider " + k, 3 );
// some providers hangs with empty uri (Postgis) etc...
// -> using libraries directly
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->providerLibrary( k ) );
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->createProviderLibrary( k ) );
if ( library )
{
dataCapabilities_t *dataCapabilities = reinterpret_cast< dataCapabilities_t * >( cast_to_fptr( library->resolve( "dataCapabilities" ) ) );

View File

@ -62,7 +62,7 @@ QgsDataItemProviderRegistry::QgsDataItemProviderRegistry()
Q_FOREACH ( const QString &key, providersList )
{
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->providerLibrary( key ) );
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->createProviderLibrary( key ) );
if ( !library )
continue;

View File

@ -354,7 +354,7 @@ typedef QgsDataProvider *classFactoryFunction_t( const QString * );
* It seems more sensible to provide the code in one place rather than
* in qgsrasterlayer, qgsvectorlayer, serversourceselect, etc.
*/
QgsDataProvider *QgsProviderRegistry::provider( QString const &providerKey, QString const &dataSource )
QgsDataProvider *QgsProviderRegistry::createProvider( QString const &providerKey, QString const &dataSource )
{
// XXX should I check for and possibly delete any pre-existing providers?
// XXX How often will that scenario occur?
@ -422,7 +422,7 @@ QgsDataProvider *QgsProviderRegistry::provider( QString const &providerKey, QStr
int QgsProviderRegistry::providerCapabilities( const QString &providerKey ) const
{
std::unique_ptr< QLibrary > library( providerLibrary( providerKey ) );
std::unique_ptr< QLibrary > library( createProviderLibrary( providerKey ) );
if ( !library )
{
return QgsDataProvider::NoDataCapabilities;
@ -440,7 +440,7 @@ int QgsProviderRegistry::providerCapabilities( const QString &providerKey ) cons
// This should be QWidget, not QDialog
typedef QWidget *selectFactoryFunction_t( QWidget *parent, Qt::WindowFlags fl );
QWidget *QgsProviderRegistry::selectWidget( const QString &providerKey,
QWidget *QgsProviderRegistry::createSelectionWidget( const QString &providerKey,
QWidget *parent, Qt::WindowFlags fl )
{
selectFactoryFunction_t *selectFactory =
@ -474,7 +474,7 @@ QFunctionPointer QgsProviderRegistry::function( QString const &providerKey,
}
}
QLibrary *QgsProviderRegistry::providerLibrary( QString const &providerKey ) const
QLibrary *QgsProviderRegistry::createProviderLibrary( QString const &providerKey ) const
{
QString lib = library( providerKey );
if ( lib.isEmpty() )

View File

@ -78,13 +78,13 @@ class CORE_EXPORT QgsProviderRegistry
void setLibraryDirectory( const QDir &path );
/**
* Create a new instance of a provider.
* Creates a new instance of a provider.
* \param providerKey identificator of the provider
* \param dataSource string containing data source for the provider
* \returns new instance of provider or NULL on error
*/
QgsDataProvider *provider( const QString &providerKey,
const QString &dataSource ) SIP_FACTORY;
QgsDataProvider *createProvider( const QString &providerKey,
const QString &dataSource ) SIP_FACTORY;
/** Return the provider capabilities
\param providerKey identificator of the provider
@ -97,8 +97,8 @@ class CORE_EXPORT QgsProviderRegistry
* Either the \a parent widget must be set or the caller becomes
* responsible for deleting the returned widget.
*/
QWidget *selectWidget( const QString &providerKey,
QWidget *parent = nullptr, Qt::WindowFlags fl = Qt::WindowFlags() );
QWidget *createSelectionWidget( const QString &providerKey,
QWidget *parent = nullptr, Qt::WindowFlags fl = Qt::WindowFlags() );
/**
* Get pointer to provider function
@ -117,7 +117,7 @@ class CORE_EXPORT QgsProviderRegistry
* If the provider uses direct provider function pointers instead of a library nullptr will
* be returned.
*/
QLibrary *providerLibrary( const QString &providerKey ) const SIP_FACTORY;
QLibrary *createProviderLibrary( const QString &providerKey ) const SIP_FACTORY;
//! Return list of available providers by their keys
QStringList providerList() const;

View File

@ -29,7 +29,7 @@ typedef QgsTransaction *createTransaction_t( const QString &connString );
QgsTransaction *QgsTransaction::create( const QString &connString, const QString &providerKey )
{
std::unique_ptr< QLibrary > lib( QgsProviderRegistry::instance()->providerLibrary( providerKey ) );
std::unique_ptr< QLibrary > lib( QgsProviderRegistry::instance()->createProviderLibrary( providerKey ) );
if ( !lib )
return nullptr;
@ -164,7 +164,7 @@ bool QgsTransaction::rollback( QString &errorMsg )
bool QgsTransaction::supportsTransaction( const QgsVectorLayer *layer )
{
std::unique_ptr< QLibrary > lib( QgsProviderRegistry::instance()->providerLibrary( layer->providerType() ) );
std::unique_ptr< QLibrary > lib( QgsProviderRegistry::instance()->createProviderLibrary( layer->providerType() ) );
if ( !lib )
return false;

View File

@ -1492,7 +1492,7 @@ bool QgsVectorLayer::setDataProvider( QString const &provider )
//XXX - This was a dynamic cast but that kills the Windows
// version big-time with an abnormal termination error
delete mDataProvider;
mDataProvider = ( QgsVectorDataProvider * )( QgsProviderRegistry::instance()->provider( provider, mDataSource ) );
mDataProvider = ( QgsVectorDataProvider * )( QgsProviderRegistry::instance()->createProvider( provider, mDataSource ) );
if ( !mDataProvider )
{
QgsDebugMsg( " unable to get data provider" );
@ -4003,7 +4003,7 @@ QList<QgsRelation> QgsVectorLayer::referencingRelations( int idx ) const
int QgsVectorLayer::listStylesInDatabase( QStringList &ids, QStringList &names, QStringList &descriptions, QString &msgError )
{
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->createProviderLibrary( mProviderKey ) );
if ( !myLib )
{
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@ -4022,7 +4022,7 @@ int QgsVectorLayer::listStylesInDatabase( QStringList &ids, QStringList &names,
QString QgsVectorLayer::getStyleFromDatabase( const QString &styleId, QString &msgError )
{
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->createProviderLibrary( mProviderKey ) );
if ( !myLib )
{
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@ -4041,7 +4041,7 @@ QString QgsVectorLayer::getStyleFromDatabase( const QString &styleId, QString &m
bool QgsVectorLayer::deleteStyleFromDatabase( const QString &styleId, QString &msgError )
{
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->createProviderLibrary( mProviderKey ) );
if ( !myLib )
{
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@ -4062,7 +4062,7 @@ void QgsVectorLayer::saveStyleToDatabase( const QString &name, const QString &de
{
QString sldStyle, qmlStyle;
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->createProviderLibrary( mProviderKey ) );
if ( !myLib )
{
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@ -4107,7 +4107,7 @@ QString QgsVectorLayer::loadNamedStyle( const QString &theURI, bool &resultFlag,
QgsDataSourceUri dsUri( theURI );
if ( !loadFromLocalDB && mDataProvider && mDataProvider->isSaveAndLoadStyleToDatabaseSupported() )
{
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
std::unique_ptr<QLibrary> myLib( QgsProviderRegistry::instance()->createProviderLibrary( mProviderKey ) );
if ( myLib )
{
loadStyle_t *loadStyleExternalMethod = reinterpret_cast< loadStyle_t * >( cast_to_fptr( myLib->resolve( "loadStyle" ) ) );

View File

@ -63,7 +63,7 @@ QgsVectorLayerImport::QgsVectorLayerImport( const QString &uri,
QgsProviderRegistry *pReg = QgsProviderRegistry::instance();
std::unique_ptr< QLibrary > myLib( pReg->providerLibrary( providerKey ) );
std::unique_ptr< QLibrary > myLib( pReg->createProviderLibrary( providerKey ) );
if ( !myLib )
{
mError = ErrInvalidProvider;
@ -111,7 +111,7 @@ QgsVectorLayerImport::QgsVectorLayerImport( const QString &uri,
uriUpdated += layerName;
}
}
QgsVectorDataProvider *vectorProvider = dynamic_cast< QgsVectorDataProvider * >( pReg->provider( providerKey, uriUpdated ) );
QgsVectorDataProvider *vectorProvider = dynamic_cast< QgsVectorDataProvider * >( pReg->createProvider( providerKey, uriUpdated ) );
if ( !vectorProvider || !vectorProvider->isValid() || ( vectorProvider->capabilities() & QgsVectorDataProvider::AddFeatures ) == 0 )
{
mError = ErrInvalidLayer;

View File

@ -45,7 +45,7 @@ bool QgsRasterChecker::runTest( const QString &verifiedKey, QString verifiedUri,
mReport += QLatin1String( "\n\n" );
//QgsRasterDataProvider* verifiedProvider = QgsRasterLayer::loadProvider( verifiedKey, verifiedUri );
QgsRasterDataProvider *verifiedProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->provider( verifiedKey, verifiedUri ) );
QgsRasterDataProvider *verifiedProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->createProvider( verifiedKey, verifiedUri ) );
if ( !verifiedProvider || !verifiedProvider->isValid() )
{
error( QStringLiteral( "Cannot load provider %1 with URI: %2" ).arg( verifiedKey, verifiedUri ), mReport );
@ -53,7 +53,7 @@ bool QgsRasterChecker::runTest( const QString &verifiedKey, QString verifiedUri,
}
//QgsRasterDataProvider* expectedProvider = QgsRasterLayer::loadProvider( expectedKey, expectedUri );
QgsRasterDataProvider *expectedProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->provider( expectedKey, expectedUri ) );
QgsRasterDataProvider *expectedProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->createProvider( expectedKey, expectedUri ) );
if ( !expectedProvider || !expectedProvider->isValid() )
{
error( QStringLiteral( "Cannot load provider %1 with URI: %2" ).arg( expectedKey, expectedUri ), mReport );

View File

@ -719,7 +719,7 @@ void QgsRasterFileWriter::buildPyramids( const QString &filename )
{
QgsDebugMsgLevel( "filename = " + filename, 4 );
// open new dataProvider so we can build pyramids with it
QgsRasterDataProvider *destProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->provider( mOutputProviderKey, filename ) );
QgsRasterDataProvider *destProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->createProvider( mOutputProviderKey, filename ) );
if ( !destProvider )
{
return;

View File

@ -623,7 +623,7 @@ void QgsRasterLayer::setDataProvider( QString const &provider )
//mBandCount = 0;
mDataProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->provider( mProviderKey, mDataSource ) );
mDataProvider = dynamic_cast< QgsRasterDataProvider * >( QgsProviderRegistry::instance()->createProvider( mProviderKey, mDataSource ) );
if ( !mDataProvider )
{
//QgsMessageLog::logMessage( tr( "Cannot instantiate the data provider" ), tr( "Raster" ) );

View File

@ -261,7 +261,7 @@ void QgsRasterFormatSaveOptionsWidget::helpOptions()
if ( mProvider == QLatin1String( "gdal" ) && mFormat != QLatin1String( "" ) && ! mPyramids )
{
// get helpCreationOptionsFormat() function ptr for provider
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->providerLibrary( mProvider ) );
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->createProviderLibrary( mProvider ) );
if ( library )
{
helpCreationOptionsFormat_t *helpCreationOptionsFormat =
@ -357,7 +357,7 @@ QString QgsRasterFormatSaveOptionsWidget::validateOptions( bool gui, bool report
else
{
// get validateCreationOptionsFormat() function ptr for provider
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->providerLibrary( mProvider ) );
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->createProviderLibrary( mProvider ) );
if ( library )
{
validateCreationOptionsFormat_t *validateCreationOptionsFormat =

View File

@ -714,7 +714,7 @@ bool QgsGrassMapsetItem::handleDrop( const QMimeData *data, Qt::DropAction )
}
else
{
rasterProvider = qobject_cast<QgsRasterDataProvider *>( QgsProviderRegistry::instance()->provider( u.providerKey, u.uri ) );
rasterProvider = qobject_cast<QgsRasterDataProvider *>( QgsProviderRegistry::instance()->createProvider( u.providerKey, u.uri ) );
provider = rasterProvider;
}
existingNames = existingRasters;
@ -729,7 +729,7 @@ bool QgsGrassMapsetItem::handleDrop( const QMimeData *data, Qt::DropAction )
}
else
{
vectorProvider = qobject_cast<QgsVectorDataProvider *>( QgsProviderRegistry::instance()->provider( u.providerKey, u.uri ) );
vectorProvider = qobject_cast<QgsVectorDataProvider *>( QgsProviderRegistry::instance()->createProvider( u.providerKey, u.uri ) );
provider = vectorProvider;
}
existingNames = existingVectors;

View File

@ -45,7 +45,7 @@ QVector<QgsDataItem *> QgsOWSConnectionItem::createChildren()
Q_FOREACH ( const QString &key, QStringList() << "wms" << "WFS" << "wcs" )
{
QgsDebugMsg( "Add connection for provider " + key );
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->providerLibrary( key ) );
std::unique_ptr< QLibrary > library( QgsProviderRegistry::instance()->createProviderLibrary( key ) );
if ( !library )
{
QgsDebugMsg( "Cannot get provider " + key );

View File

@ -118,7 +118,7 @@ struct VTable
, mCrs( -1 )
, mValid( true )
{
mProvider = static_cast<QgsVectorDataProvider *>( QgsProviderRegistry::instance()->provider( provider, source ) );
mProvider = static_cast<QgsVectorDataProvider *>( QgsProviderRegistry::instance()->createProvider( provider, source ) );
if ( !mProvider )
{
throw std::runtime_error( "Invalid provider" );

View File

@ -451,7 +451,7 @@ bool QgsWFSSharedData::createCache()
pragmas << QStringLiteral( "synchronous=OFF" );
pragmas << QStringLiteral( "journal_mode=WAL" ); // WAL is needed to avoid reader to block writers
dsURI.setParam( QStringLiteral( "pragma" ), pragmas );
mCacheDataProvider = ( QgsVectorDataProvider * )( QgsProviderRegistry::instance()->provider(
mCacheDataProvider = ( QgsVectorDataProvider * )( QgsProviderRegistry::instance()->createProvider(
QStringLiteral( "spatialite" ), dsURI.uri() ) );
if ( mCacheDataProvider && !mCacheDataProvider->isValid() )
{

View File

@ -806,7 +806,7 @@ void TestQgsGrassProvider::rasterImport()
QString uri = QStringLiteral( TEST_DATA_DIR ) + "/" + rasterFile;
QString name = QFileInfo( uri ).baseName();
reportRow( "input raster: " + uri );
QgsRasterDataProvider *provider = qobject_cast<QgsRasterDataProvider *>( QgsProviderRegistry::instance()->provider( QStringLiteral( "gdal" ), uri ) );
QgsRasterDataProvider *provider = qobject_cast<QgsRasterDataProvider *>( QgsProviderRegistry::instance()->createProvider( QStringLiteral( "gdal" ), uri ) );
if ( !provider )
{
reportRow( "Cannot create provider " + uri );
@ -878,7 +878,7 @@ void TestQgsGrassProvider::vectorImport()
QString uri = QStringLiteral( TEST_DATA_DIR ) + "/" + file;
QString name = QFileInfo( uri ).baseName();
reportRow( "input vector: " + uri );
QgsVectorDataProvider *provider = qobject_cast<QgsVectorDataProvider *>( QgsProviderRegistry::instance()->provider( QStringLiteral( "ogr" ), uri ) );
QgsVectorDataProvider *provider = qobject_cast<QgsVectorDataProvider *>( QgsProviderRegistry::instance()->createProvider( QStringLiteral( "ogr" ), uri ) );
if ( !provider )
{
reportRow( "Cannot create provider " + uri );

View File

@ -83,7 +83,7 @@ void TestQgsGdalProvider::cleanupTestCase()
void TestQgsGdalProvider::scaleDataType()
{
QString rasterWithOffset = QStringLiteral( TEST_DATA_DIR ) + "/int_raster_with_scale.tif";
QgsDataProvider *provider = QgsProviderRegistry::instance()->provider( QStringLiteral( "gdal" ), rasterWithOffset );
QgsDataProvider *provider = QgsProviderRegistry::instance()->createProvider( QStringLiteral( "gdal" ), rasterWithOffset );
QgsRasterDataProvider *rp = dynamic_cast< QgsRasterDataProvider * >( provider );
QVERIFY( rp );
//raster is an integer data type, but has a scale < 1, so data type must be float
@ -95,7 +95,7 @@ void TestQgsGdalProvider::scaleDataType()
void TestQgsGdalProvider::warpedVrt()
{
QString raster = QStringLiteral( TEST_DATA_DIR ) + "/requires_warped_vrt.tif";
QgsDataProvider *provider = QgsProviderRegistry::instance()->provider( QStringLiteral( "gdal" ), raster );
QgsDataProvider *provider = QgsProviderRegistry::instance()->createProvider( QStringLiteral( "gdal" ), raster );
QgsRasterDataProvider *rp = dynamic_cast< QgsRasterDataProvider * >( provider );
QVERIFY( rp );
@ -114,7 +114,7 @@ void TestQgsGdalProvider::warpedVrt()
void TestQgsGdalProvider::noData()
{
QString raster = QStringLiteral( TEST_DATA_DIR ) + "/raster/band1_byte_ct_epsg4326.tif";
QgsDataProvider *provider = QgsProviderRegistry::instance()->provider( QStringLiteral( "gdal" ), raster );
QgsDataProvider *provider = QgsProviderRegistry::instance()->createProvider( QStringLiteral( "gdal" ), raster );
QVERIFY( provider->isValid() );
QgsRasterDataProvider *rp = dynamic_cast< QgsRasterDataProvider * >( provider );
QVERIFY( rp );
@ -128,7 +128,7 @@ void TestQgsGdalProvider::noData()
void TestQgsGdalProvider::invalidNoDataInSourceIgnored()
{
QString raster = QStringLiteral( TEST_DATA_DIR ) + "/raster/byte_with_nan_nodata.tif";
QgsDataProvider *provider = QgsProviderRegistry::instance()->provider( QStringLiteral( "gdal" ), raster );
QgsDataProvider *provider = QgsProviderRegistry::instance()->createProvider( QStringLiteral( "gdal" ), raster );
QVERIFY( provider->isValid() );
QgsRasterDataProvider *rp = dynamic_cast< QgsRasterDataProvider * >( provider );
QVERIFY( rp );
@ -200,7 +200,7 @@ void TestQgsGdalProvider::isRepresentableValue()
void TestQgsGdalProvider::mask()
{
QString raster = QStringLiteral( TEST_DATA_DIR ) + "/raster/rgb_with_mask.tif";
QgsDataProvider *provider = QgsProviderRegistry::instance()->provider( QStringLiteral( "gdal" ), raster );
QgsDataProvider *provider = QgsProviderRegistry::instance()->createProvider( QStringLiteral( "gdal" ), raster );
QVERIFY( provider->isValid() );
QgsRasterDataProvider *rp = dynamic_cast< QgsRasterDataProvider * >( provider );
QVERIFY( rp );

View File

@ -90,7 +90,7 @@ class TestPyQgsWFSProviderGUI(unittest.TestCase):
# if 'TRAVIS_OS_NAME' in os.environ and os.environ['TRAVIS_OS_NAME'] == 'osx':
# return
main_dialog = QgsProviderRegistry.instance().selectWidget("WFS")
main_dialog = QgsProviderRegistry.instance().createSelectionWidget("WFS")
main_dialog.setProperty("hideDialogs", True)
self.assertIsNotNone(main_dialog)