@@ -91,6 +91,9 @@ class CORE_EXPORT QgsDataProvider : public QObject
9191
9292 /* *
9393 * Setting options for creating vector data providers.
94+ *
95+ * \note coordinateTransformContext was added in QGIS 3.10
96+ *
9497 * \since QGIS 3.2
9598 */
9699 struct ProviderOptions
@@ -103,10 +106,10 @@ class CORE_EXPORT QgsDataProvider : public QObject
103106 *
104107 * Additional creation options are specified within the \a options value.
105108 */
106- QgsDataProvider ( const QString &uri = QString(), const QgsDataProvider::ProviderOptions &options = QgsDataProvider::ProviderOptions() )
107- : mDataSourceURI ( uri )
109+ QgsDataProvider ( const QString &uri = QString(), const QgsDataProvider::ProviderOptions &options = QgsDataProvider::ProviderOptions() ):
110+ mDataSourceURI ( uri ),
111+ mOptions( options )
108112 {
109- Q_UNUSED ( options );
110113 }
111114
112115 /* *
@@ -523,6 +526,26 @@ class CORE_EXPORT QgsDataProvider : public QObject
523526 */
524527 virtual bool writeLayerMetadata ( const QgsLayerMetadata &metadata ) { Q_UNUSED ( metadata ); return false ; }
525528
529+ /* *
530+ * Returns data provider options
531+ *
532+ * \see setOptions()
533+ * \see optionsChanged()
534+ *
535+ * \since QGIS 3.10
536+ */
537+ QgsDataProvider::ProviderOptions options () const ;
538+
539+ /* *
540+ * Sets data provider options to \a options
541+ *
542+ * \see options()
543+ * \see optionsChanged()
544+ *
545+ * \since QGIS 3.10
546+ */
547+ void setOptions ( const QgsDataProvider::ProviderOptions &options );
548+
526549 signals:
527550
528551 /* *
@@ -556,6 +579,16 @@ class CORE_EXPORT QgsDataProvider : public QObject
556579 */
557580 void notify ( const QString &msg );
558581
582+ /* *
583+ * Emitted when the data provider options has changed
584+ *
585+ * \see setOptions()
586+ * \see options()
587+ *
588+ * \since QGIS 3.10
589+ */
590+ void optionsChanged ( const QgsDataProvider::ProviderOptions &options );
591+
559592
560593 protected:
561594
@@ -582,6 +615,9 @@ class CORE_EXPORT QgsDataProvider : public QObject
582615 QString mDataSourceURI ;
583616
584617 QMap< int , QVariant > mProviderProperties ;
618+
619+ QgsDataProvider::ProviderOptions mOptions ;
620+
585621};
586622
587623
0 commit comments