307 virtual QIcon
icon() const;
338 PyObject *l = PyList_New( cppRes.size() );
344 for (
int i = 0; i < cppRes.size(); ++i )
346 PyObject *eobj = sipConvertFromEnum(
static_cast<int>( cppRes.at( i ) ),
347 sipType_Qgis_LayerType );
354 PyList_SetItem( l, i, eobj );
385 SIP_SKIP Q_DECL_DEPRECATED CreateDataProviderFunction createFunction() const;
391 virtual
void initProvider();
397 virtual
void cleanupProvider();
406 virtual QString filters( Qgis::FileFilterType type );
413 virtual QList<QgsMeshDriverMetadata> meshDriversMetadata();
430 virtual
int priorityForUri( const QString &uri ) const;
442 virtual QList< Qgis::LayerType > validLayerTypesForUri( const QString &uri ) const;
460 virtual
bool uriIsBlocklisted( const QString &uri ) const;
483 virtual QStringList sidecarFilesForUri( const QString &uri ) const;
499 virtual QList< QgsProviderSublayerDetails > querySublayers( const QString &uri, Qgis::SublayerQueryFlags flags = Qgis::SublayerQueryFlags(), QgsFeedback *feedback =
nullptr ) const;
509 virtual QString suggestGroupNameForUri( const QString &uri ) const;
520 virtual QgsDataProvider *createProvider( const QString &uri, const QgsDataProvider::ProviderOptions &options, Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() )
SIP_FACTORY;
528 static
void setBoolParameter( QVariantMap &uri, const QString ¶meter, const QVariant &value );
536 static
bool boolParameter( const QVariantMap &uri, const QString ¶meter,
bool defaultValue = false );
551 virtual QgsEmptyLayerCreationResult createEmptyLayer(
553 const QgsFields &fields,
554 Qgis::WkbType wkbType = Qgis::WkbType::NoGeometry,
555 const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem(),
556 Qgis::CreateLayerActionOnExisting actionOnExisting = Qgis::CreateLayerActionOnExisting::Abort
573 const QgsFields &fields,
575 const QgsCoordinateReferenceSystem &srs,
577 QMap<int, int> &oldToNewAttrIdxMap,
578 QString &errorMessage,
579 const QMap<QString, QVariant> *options,
580 QString &createdLayerUri
599 virtual bool createDatabase(
const QString &uri, QString &errorMessage
SIP_OUT );
607 virtual QgsRasterDataProvider *createRasterDataProvider(
609 const QString &format,
614 double *geoTransform,
615 const QgsCoordinateReferenceSystem &crs,
616 const QStringList &createOptions = QStringList()
624 virtual
bool createMeshData(
625 const QgsMesh &mesh, const QString &fileName, const QString &driverName, const QgsCoordinateReferenceSystem &crs, const QMap<QString, QString> &metadata = QMap<QString, QString>()
633 virtual
bool createMeshData( const QgsMesh &mesh, const QString &uri, const QgsCoordinateReferenceSystem &crs, const QMap<QString, QString> &metadata = QMap<QString, QString>() ) const;
639 virtual QList<QPair<QString, QString> > pyramidResamplingMethods();
658 virtual QVariantMap decodeUri( const QString &uri ) const;
668 virtual QString encodeUri( const QVariantMap &parts ) const;
681 virtual QString absoluteToRelativeUri( const QString &uri, const QgsReadWriteContext &context ) const;
694 virtual QString relativeToAbsoluteUri( const QString &uri, const QgsReadWriteContext &context ) const;
701 virtual QString cleanUri( const QString &uri, Qgis::UriCleaningFlags flags = Qgis::UriCleaningFlag::RemoveCredentials ) const;
717 virtual
bool urisReferToSame( const QString &uri1, const QString &uri2, Qgis::SourceHierarchyLevel level = Qgis::SourceHierarchyLevel::Object ) const;
725 virtual QList< QgsDataItemProvider * > dataItemProviders() const
SIP_FACTORY;
732 virtual
int listStyles( const QString &uri, QStringList &ids, QStringList &names, QStringList &descriptions, QString &errCause );
745 virtual
bool styleExists( const QString &uri, const QString &styleId, QString &errorCause
SIP_OUT );
754 virtual QString getStyleById( const QString &uri, const QString &styleId, QString &errCause );
760 virtual
bool deleteStyleById( const QString &uri, const QString &styleId, QString &errCause );
773 virtual
bool saveStyle(
774 const QString &uri, const QString &qmlStyle, const QString &sldStyle, const QString &styleName, const QString &styleDescription, const QString &uiFileContent,
bool useAsDefault, QString &errCause
781 virtual QString loadStyle( const QString &uri, QString &errCause );
791 virtual QString loadStoredStyle( const QString &uri, QString &styleName, QString &errCause );
807 virtual
bool saveLayerMetadata( const QString &uri, const QgsLayerMetadata &metadata, QString &errorMessage
SIP_OUT )
SIP_THROW( QgsNotSupportedException );
813 virtual
bool createDb( const QString &dbPath, QString &errCause );
819 virtual QgsTransaction *createTransaction( const QString &connString )
SIP_FACTORY;
830 virtual QMap<QString, QgsAbstractProviderConnection *> connections(
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
841 QMap<QString, QgsAbstractDatabaseProviderConnection *> dbConnections(
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
852 QgsAbstractProviderConnection *findConnection( const QString &name,
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
863 template<
typename T> QMap<QString, T *> connections(
bool cached =
true );
877 virtual QgsAbstractProviderConnection *createConnection(
const QString &uri,
const QVariantMap &configuration )
SIP_THROW( QgsProviderConnectionException )
SIP_FACTORY;
885 virtual QgsAbstractProviderConnection *createConnection(
const QString &name )
SIP_THROW( QgsProviderConnectionException )
SIP_FACTORY;
893 virtual void deleteConnection(
const QString &name )
SIP_THROW( QgsProviderConnectionException );
902 virtual void saveConnection(
const QgsAbstractProviderConnection *connection,
const QString &name )
SIP_THROW( QgsProviderConnectionException );
906 SIP_PYOBJECT __repr__();
908 QString str = u
"<QgsProviderMetadata: %1>"_s.arg( sipCpp->key() );
909 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
950 template<
class T_prov
ider_conn,
class T_conn> QMap<QString, QgsAbstractProviderConnection *> connectionsProtected(
bool cached =
true )
952 if ( !cached || mProviderConnections.isEmpty() )
954 qDeleteAll( mProviderConnections );
955 mProviderConnections.clear();
956 const auto connNames { T_conn::connectionList() };
957 for (
const auto &cname : connNames )
959 mProviderConnections.insert( cname,
new T_provider_conn( cname ) );
962 return mProviderConnections;
965 template<
class T_prov
ider_conn>
void deleteConnectionProtected(
const QString &name )
967 T_provider_conn conn( name );
969 mProviderConnections.clear();
970 emit connectionDeleted( name );
972 virtual void saveConnectionProtected(
const QgsAbstractProviderConnection *connection,
const QString &name );
974 QMap<QString, QgsAbstractProviderConnection *> mProviderConnections;
985 QString mDescription;
991 CreateDataProviderFunction mCreateFunction =
nullptr;