67 CanWriteFaceDatasets = 1 << 0,
68 CanWriteVertexDatasets = 1 << 1,
69 CanWriteEdgeDatasets = 1 << 2,
70 CanWriteMeshData = 1 << 3,
73 Q_ENUM( MeshDriverCapability )
74 Q_DECLARE_FLAGS( MeshDriverCapabilities, MeshDriverCapability )
75 Q_FLAG( MeshDriverCapabilities )
91 const QString &description,
92 const MeshDriverCapabilities &capabilities,
108 const QString &description,
109 const MeshDriverCapabilities &capabilities,
110 const QString &writeDatasetOnFileSuffix,
111 const QString &writeMeshFrameOnFileSuffix,
112 int maxVerticesPerface );
117 MeshDriverCapabilities capabilities() const;
122 QString name() const;
127 QString description() const;
132 QString writeDatasetOnFileSuffix() const;
139 QString writeMeshFrameOnFileSuffix() const;
146 int maximumVerticesCountPerFace() const;
150 QString mDescription;
151 MeshDriverCapabilities mCapabilities;
152 QString mWriteDatasetOnFileSuffix;
153 QString mWriteMeshFrameOnFileSuffix;
154 int mMaxVerticesPerFace = -1;
189 PriorityForUri = 1 << 0,
190 LayerTypesForUri = 1 << 1,
191 QuerySublayers = 1 << 2,
192 CreateDatabase = 1 << 3,
194 Q_DECLARE_FLAGS( ProviderMetadataCapabilities, ProviderMetadataCapability )
203 FileBasedUris = 1 << 0,
204 SaveLayerMetadata = 1 << 1,
205 ParallelCreateProvider = 1 << 2,
207 Q_DECLARE_FLAGS( ProviderCapabilities, ProviderCapability )
220 QgsProviderMetadata( const QString &key, const QString &description, const QString &library = QString() );
244 QString description() const;
251 virtual QIcon icon() const;
273 virtual QList< Qgis::LayerType > supportedLayerTypes()
const;
275 SIP_PYOBJECT supportedLayerTypes() const
SIP_TYPEHINT( List[
Qgis.LayerType] );
279 const QList<
Qgis::LayerType > cppRes = sipCpp->supportedLayerTypes();
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 );
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;
451 virtual QString suggestGroupNameForUri( const QString &uri ) const;
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 );
495 QMap<int, int> &oldToNewAttrIdxMap,
496 QString &errorMessage,
497 const QMap<QString, QVariant> *options );
515 virtual bool createDatabase(
const QString &uri, QString &errorMessage
SIP_OUT );
523 const QString &format,
528 double *geoTransform,
530 const QStringList &createOptions = QStringList() )
SIP_FACTORY;
536 virtual
bool createMeshData(
538 const QString &fileName,
539 const QString &driverName,
546 virtual
bool createMeshData(
555 virtual QList<QPair<QString, QString> > pyramidResamplingMethods();
574 virtual QVariantMap decodeUri( const QString &uri ) const;
584 virtual QString encodeUri( const QVariantMap &parts ) const;
597 virtual QString absoluteToRelativeUri( const QString &uri, const
QgsReadWriteContext &context ) const;
610 virtual QString relativeToAbsoluteUri( const QString &uri, const
QgsReadWriteContext &context ) const;
625 virtual
int listStyles( const QString &uri, QStringList &ids, QStringList &names,
626 QStringList &descriptions, QString &errCause );
639 virtual
bool styleExists( const QString &uri, const QString &styleId, QString &errorCause
SIP_OUT );
648 virtual QString getStyleById( const QString &uri, const QString &styleId, QString &errCause );
654 virtual
bool deleteStyleById( const QString &uri, const QString &styleId, QString &errCause );
667 virtual
bool saveStyle( const QString &uri, const QString &qmlStyle, const QString &sldStyle,
668 const QString &styleName, const QString &styleDescription,
669 const QString &uiFileContent,
bool useAsDefault, QString &errCause );
675 virtual QString loadStyle( const QString &uri, QString &errCause );
685 virtual QString loadStoredStyle( const QString &uri, QString &styleName, QString &errCause );
707 virtual
bool createDb( const QString &dbPath, QString &errCause );
757 template <
typename T> QMap<QString, T *>connections(
bool cached =
true );
799 SIP_PYOBJECT __repr__();
801 QString
str = QStringLiteral(
"<QgsProviderMetadata: %1>" ).arg( sipCpp->key() );
802 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
843 template <
class T_prov
ider_conn,
class T_conn> QMap<QString, QgsAbstractProviderConnection *> connectionsProtected(
bool cached =
true )
845 if ( ! cached || mProviderConnections.isEmpty() )
847 qDeleteAll( mProviderConnections );
848 mProviderConnections.clear();
849 const auto connNames { T_conn::connectionList() };
850 for (
const auto &cname : connNames )
852 mProviderConnections.insert( cname,
new T_provider_conn( cname ) );
855 return mProviderConnections;
858 template <
class T_prov
ider_conn>
void deleteConnectionProtected(
const QString &name )
860 T_provider_conn conn( name );
862 mProviderConnections.clear();
863 emit connectionDeleted( name );
867 QMap<QString, QgsAbstractProviderConnection *> mProviderConnections;
879 QString mDescription;
885 CreateDataProviderFunction mCreateFunction =
nullptr;
The class is used as a container of context for various read/write operations on other objects.
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)