253 virtual QIcon
icon() const;
283 PyObject *l = PyList_New( cppRes.size() );
289 for (
int i = 0; i < cppRes.size(); ++i )
291 PyObject *eobj = sipConvertFromEnum(
static_cast<int>( cppRes.at( i ) ),
292 sipType_Qgis_LayerType );
299 PyList_SetItem( l, i, eobj );
329 SIP_SKIP Q_DECL_DEPRECATED CreateDataProviderFunction createFunction() const;
335 virtual
void initProvider();
341 virtual
void cleanupProvider();
350 virtual QString filters( Qgis::FileFilterType type );
357 virtual QList<QgsMeshDriverMetadata> meshDriversMetadata();
374 virtual
int priorityForUri( const QString &uri ) const;
386 virtual QList< Qgis::LayerType > validLayerTypesForUri( const QString &uri ) const;
404 virtual
bool uriIsBlocklisted( const QString &uri ) const;
427 virtual QStringList sidecarFilesForUri( const QString &uri ) const;
443 virtual QList< QgsProviderSublayerDetails > querySublayers( const QString &uri, Qgis::SublayerQueryFlags flags = Qgis::SublayerQueryFlags(), QgsFeedback *feedback =
nullptr ) const;
453 virtual QString suggestGroupNameForUri( const QString &uri ) const;
464 virtual QgsDataProvider *createProvider( const QString &uri,
465 const QgsDataProvider::ProviderOptions &options,
466 Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() )
SIP_FACTORY;
474 static
void setBoolParameter( QVariantMap &uri, const QString ¶meter, const QVariant &value );
482 static
bool boolParameter( const QVariantMap &uri, const QString ¶meter,
bool defaultValue = false );
498 const QgsFields &fields,
500 const QgsCoordinateReferenceSystem &srs,
502 QMap<int, int> &oldToNewAttrIdxMap,
503 QString &errorMessage,
504 const QMap<QString, QVariant> *options,
505 QString &createdLayerUri );
523 virtual bool createDatabase(
const QString &uri, QString &errorMessage
SIP_OUT );
531 virtual QgsRasterDataProvider *createRasterDataProvider(
533 const QString &format,
538 double *geoTransform,
539 const QgsCoordinateReferenceSystem &crs,
540 const QStringList &createOptions = QStringList() )
SIP_FACTORY;
547 virtual
bool createMeshData(
549 const QString &fileName,
550 const QString &driverName,
551 const QgsCoordinateReferenceSystem &crs,
552 const QMap<QString, QString> &metadata = QMap<QString, QString>() ) const;
559 virtual
bool createMeshData(
562 const QgsCoordinateReferenceSystem &crs,
563 const QMap<QString, QString> &metadata = QMap<QString, QString>() ) const;
569 virtual QList<QPair<QString, QString> > pyramidResamplingMethods();
588 virtual QVariantMap decodeUri( const QString &uri ) const;
598 virtual QString encodeUri( const QVariantMap &parts ) const;
611 virtual QString absoluteToRelativeUri( const QString &uri, const QgsReadWriteContext &context ) const;
624 virtual QString relativeToAbsoluteUri( const QString &uri, const QgsReadWriteContext &context ) const;
631 virtual QString cleanUri( const QString &uri, Qgis::UriCleaningFlags flags = Qgis::UriCleaningFlag::RemoveCredentials ) const;
639 virtual QList< QgsDataItemProvider * > dataItemProviders() const
SIP_FACTORY;
646 virtual
int listStyles( const QString &uri, QStringList &ids, QStringList &names,
647 QStringList &descriptions, QString &errCause );
660 virtual
bool styleExists( const QString &uri, const QString &styleId, QString &errorCause
SIP_OUT );
669 virtual QString getStyleById( const QString &uri, const QString &styleId, QString &errCause );
675 virtual
bool deleteStyleById( const QString &uri, const QString &styleId, QString &errCause );
688 virtual
bool saveStyle( const QString &uri, const QString &qmlStyle, const QString &sldStyle,
689 const QString &styleName, const QString &styleDescription,
690 const QString &uiFileContent,
bool useAsDefault, QString &errCause );
696 virtual QString loadStyle( const QString &uri, QString &errCause );
706 virtual QString loadStoredStyle( const QString &uri, QString &styleName, QString &errCause );
722 virtual
bool saveLayerMetadata( const QString &uri, const QgsLayerMetadata &metadata, QString &errorMessage
SIP_OUT )
SIP_THROW( QgsNotSupportedException );
728 virtual
bool createDb( const QString &dbPath, QString &errCause );
734 virtual QgsTransaction *createTransaction( const QString &connString )
SIP_FACTORY;
745 virtual QMap<QString, QgsAbstractProviderConnection *> connections(
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
756 QMap<QString, QgsAbstractDatabaseProviderConnection *> dbConnections(
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
767 QgsAbstractProviderConnection *findConnection( const QString &name,
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
778 template <
typename T> QMap<QString, T *>connections(
bool cached =
true );
792 virtual QgsAbstractProviderConnection *createConnection(
const QString &uri,
const QVariantMap &configuration )
SIP_THROW( QgsProviderConnectionException )
SIP_FACTORY;
800 virtual QgsAbstractProviderConnection *createConnection(
const QString &name )
SIP_THROW( QgsProviderConnectionException )
SIP_FACTORY;
808 virtual void deleteConnection(
const QString &name )
SIP_THROW( QgsProviderConnectionException );
817 virtual void saveConnection(
const QgsAbstractProviderConnection *connection,
const QString &name )
SIP_THROW( QgsProviderConnectionException );
820 SIP_PYOBJECT __repr__();
822 QString str = u
"<QgsProviderMetadata: %1>"_s.arg( sipCpp->key() );
823 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
864 template <
class T_prov
ider_conn,
class T_conn> QMap<QString, QgsAbstractProviderConnection *> connectionsProtected(
bool cached =
true )
866 if ( ! cached || mProviderConnections.isEmpty() )
868 qDeleteAll( mProviderConnections );
869 mProviderConnections.clear();
870 const auto connNames { T_conn::connectionList() };
871 for (
const auto &cname : connNames )
873 mProviderConnections.insert( cname,
new T_provider_conn( cname ) );
876 return mProviderConnections;
879 template <
class T_prov
ider_conn>
void deleteConnectionProtected(
const QString &name )
881 T_provider_conn conn( name );
883 mProviderConnections.clear();
884 emit connectionDeleted( name );
886 virtual void saveConnectionProtected(
const QgsAbstractProviderConnection *connection,
const QString &name );
888 QMap<QString, QgsAbstractProviderConnection *> mProviderConnections;
900 QString mDescription;
906 CreateDataProviderFunction mCreateFunction =
nullptr;