251 virtual QIcon
icon() const;
281 PyObject *l = PyList_New( cppRes.size() );
287 for (
int i = 0; i < cppRes.size(); ++i )
289 PyObject *eobj = sipConvertFromEnum(
static_cast<int>( cppRes.at( i ) ),
290 sipType_Qgis_LayerType );
297 PyList_SetItem( l, i, eobj );
327 SIP_SKIP Q_DECL_DEPRECATED CreateDataProviderFunction createFunction() const;
333 virtual
void initProvider();
339 virtual
void cleanupProvider();
348 virtual QString filters( Qgis::FileFilterType type );
355 virtual QList<QgsMeshDriverMetadata> meshDriversMetadata();
372 virtual
int priorityForUri( const QString &uri ) const;
384 virtual QList< Qgis::LayerType > validLayerTypesForUri( const QString &uri ) const;
402 virtual
bool uriIsBlocklisted( const QString &uri ) const;
425 virtual QStringList sidecarFilesForUri( const QString &uri ) const;
441 virtual QList< QgsProviderSublayerDetails > querySublayers( const QString &uri, Qgis::SublayerQueryFlags flags = Qgis::SublayerQueryFlags(), QgsFeedback *feedback =
nullptr ) const;
451 virtual QString suggestGroupNameForUri( const QString &uri ) const;
462 virtual QgsDataProvider *createProvider( const QString &uri,
463 const QgsDataProvider::ProviderOptions &options,
464 Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() )
SIP_FACTORY;
472 static
void setBoolParameter( QVariantMap &uri, const QString ¶meter, const QVariant &value );
480 static
bool boolParameter( const QVariantMap &uri, const QString ¶meter,
bool defaultValue = false );
496 const QgsFields &fields,
498 const QgsCoordinateReferenceSystem &srs,
500 QMap<int, int> &oldToNewAttrIdxMap,
501 QString &errorMessage,
502 const QMap<QString, QVariant> *options,
503 QString &createdLayerUri );
521 virtual bool createDatabase(
const QString &uri, QString &errorMessage
SIP_OUT );
529 virtual QgsRasterDataProvider *createRasterDataProvider(
531 const QString &format,
536 double *geoTransform,
537 const QgsCoordinateReferenceSystem &crs,
538 const QStringList &createOptions = QStringList() )
SIP_FACTORY;
545 virtual
bool createMeshData(
547 const QString &fileName,
548 const QString &driverName,
549 const QgsCoordinateReferenceSystem &crs,
550 const QMap<QString, QString> &metadata = QMap<QString, QString>() ) const;
557 virtual
bool createMeshData(
560 const QgsCoordinateReferenceSystem &crs,
561 const QMap<QString, QString> &metadata = QMap<QString, QString>() ) const;
567 virtual QList<QPair<QString, QString> > pyramidResamplingMethods();
586 virtual QVariantMap decodeUri( const QString &uri ) const;
596 virtual QString encodeUri( const QVariantMap &parts ) const;
609 virtual QString absoluteToRelativeUri( const QString &uri, const QgsReadWriteContext &context ) const;
622 virtual QString relativeToAbsoluteUri( const QString &uri, const QgsReadWriteContext &context ) const;
629 virtual QString cleanUri( const QString &uri, Qgis::UriCleaningFlags flags = Qgis::UriCleaningFlag::RemoveCredentials ) const;
637 virtual QList< QgsDataItemProvider * > dataItemProviders() const
SIP_FACTORY;
644 virtual
int listStyles( const QString &uri, QStringList &ids, QStringList &names,
645 QStringList &descriptions, QString &errCause );
658 virtual
bool styleExists( const QString &uri, const QString &styleId, QString &errorCause
SIP_OUT );
667 virtual QString getStyleById( const QString &uri, const QString &styleId, QString &errCause );
673 virtual
bool deleteStyleById( const QString &uri, const QString &styleId, QString &errCause );
686 virtual
bool saveStyle( const QString &uri, const QString &qmlStyle, const QString &sldStyle,
687 const QString &styleName, const QString &styleDescription,
688 const QString &uiFileContent,
bool useAsDefault, QString &errCause );
694 virtual QString loadStyle( const QString &uri, QString &errCause );
704 virtual QString loadStoredStyle( const QString &uri, QString &styleName, QString &errCause );
720 virtual
bool saveLayerMetadata( const QString &uri, const QgsLayerMetadata &metadata, QString &errorMessage
SIP_OUT )
SIP_THROW( QgsNotSupportedException );
726 virtual
bool createDb( const QString &dbPath, QString &errCause );
732 virtual QgsTransaction *createTransaction( const QString &connString )
SIP_FACTORY;
743 virtual QMap<QString, QgsAbstractProviderConnection *> connections(
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
754 QMap<QString, QgsAbstractDatabaseProviderConnection *> dbConnections(
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
765 QgsAbstractProviderConnection *findConnection( const QString &name,
bool cached = true )
SIP_THROW( QgsProviderConnectionException );
776 template <
typename T> QMap<QString, T *>connections(
bool cached =
true );
790 virtual QgsAbstractProviderConnection *createConnection(
const QString &uri,
const QVariantMap &configuration )
SIP_THROW( QgsProviderConnectionException )
SIP_FACTORY;
798 virtual QgsAbstractProviderConnection *createConnection(
const QString &name )
SIP_THROW( QgsProviderConnectionException )
SIP_FACTORY;
806 virtual void deleteConnection(
const QString &name )
SIP_THROW( QgsProviderConnectionException );
815 virtual void saveConnection(
const QgsAbstractProviderConnection *connection,
const QString &name )
SIP_THROW( QgsProviderConnectionException );
818 SIP_PYOBJECT __repr__();
820 QString str = QStringLiteral(
"<QgsProviderMetadata: %1>" ).arg( sipCpp->key() );
821 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
862 template <
class T_prov
ider_conn,
class T_conn> QMap<QString, QgsAbstractProviderConnection *> connectionsProtected(
bool cached =
true )
864 if ( ! cached || mProviderConnections.isEmpty() )
866 qDeleteAll( mProviderConnections );
867 mProviderConnections.clear();
868 const auto connNames { T_conn::connectionList() };
869 for (
const auto &cname : connNames )
871 mProviderConnections.insert( cname,
new T_provider_conn( cname ) );
874 return mProviderConnections;
877 template <
class T_prov
ider_conn>
void deleteConnectionProtected(
const QString &name )
879 T_provider_conn conn( name );
881 mProviderConnections.clear();
882 emit connectionDeleted( name );
884 virtual void saveConnectionProtected(
const QgsAbstractProviderConnection *connection,
const QString &name );
886 QMap<QString, QgsAbstractProviderConnection *> mProviderConnections;
898 QString mDescription;
904 CreateDataProviderFunction mCreateFunction =
nullptr;