20#include "moc_qgsprovidermetadata.cpp" 
   28    QString 
const &description,
 
   29    QString 
const &library )
 
   31  , mDescription( description )
 
 
   37  , mDescription( description )
 
   38  , mCreateFunction( createFunc )
 
 
   43  qDeleteAll( mProviderConnections );
 
 
   88  return mCreateFunction;
 
 
  108  return QList<QgsMeshDriverMetadata>();
 
 
  118  return QList<Qgis::LayerType>();
 
 
  128  return QStringList();
 
 
  133  return QList<QgsProviderSublayerDetails>();
 
 
  140  if ( mCreateFunction )
 
  142    return mCreateFunction( uri, options, flags );
 
 
  149  if ( value.toString().compare( QStringLiteral( 
"yes" ), Qt::CaseInsensitive ) == 0 ||
 
  150       value.toString().compare( QStringLiteral( 
"1" ), Qt::CaseInsensitive ) == 0 ||
 
  151       value.toString().compare( QStringLiteral( 
"true" ), Qt::CaseInsensitive ) == 0 )
 
  153    uri[ parameter ] = 
true;
 
  155  else if ( value.toString().compare( QStringLiteral( 
"no" ), Qt::CaseInsensitive ) == 0 ||
 
  156            value.toString().compare( QStringLiteral( 
"0" ), Qt::CaseInsensitive ) == 0 ||
 
  157            value.toString().compare( QStringLiteral( 
"false" ), Qt::CaseInsensitive ) == 0 )
 
  159    uri[ parameter ] = 
false;
 
 
  165  if ( uri.value( parameter, QString() ).toString().compare( QStringLiteral( 
"yes" ), Qt::CaseInsensitive ) == 0 ||
 
  166       uri.value( parameter, QString() ).toString().compare( QStringLiteral( 
"1" ), Qt::CaseInsensitive ) == 0 ||
 
  167       uri.value( parameter, QString() ).toString().compare( QStringLiteral( 
"true" ), Qt::CaseInsensitive ) == 0 )
 
  171  else if ( uri.value( parameter, QString() ).toString().compare( QStringLiteral( 
"no" ), Qt::CaseInsensitive ) == 0 ||
 
  172            uri.value( parameter, QString() ).toString().compare( QStringLiteral( 
"0" ), Qt::CaseInsensitive ) == 0 ||
 
  173            uri.value( parameter, QString() ).toString().compare( QStringLiteral( 
"false" ), Qt::CaseInsensitive ) == 0 )
 
 
  183  return QVariantMap();
 
 
  212    bool, QMap<int, int> &,
 
  213    QString &errorMessage, 
const QMap<QString, QVariant> *,
 
  216  errorMessage = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"createEmptyLayer" ) );
 
 
  222  errorMessage = QObject::tr( 
"The %1 provider does not support database creation" ).arg( 
key() );
 
 
  227  const QString &, 
const QString &,
 
  231  const QStringList & )
 
 
  240    const QMap<QString, QString> & )
 const 
 
  248    const QMap<QString, QString> & )
 const 
 
  255  return QList<QPair<QString, QString> >();
 
 
  260  return QList<QgsDataItemProvider *>();
 
 
  264                                     QStringList &, QString &errCause )
 
  266  errCause = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"listStyles" ) );
 
 
  279  errCause = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"getStyleById" ) );
 
 
  285  errCause = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"deleteStyleById" ) );
 
 
  290                                     const QString &, 
const QString &, 
bool, QString &errCause )
 
  292  errCause = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"saveStyle" ) );
 
 
  298  errCause = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"loadStyle" ) );
 
 
  304  errCause = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"loadStoredStyle" ) );
 
 
  315  errCause = QObject::tr( 
"Provider %1 has no %2 method" ).arg( 
key(), QStringLiteral( 
"createDb" ) );
 
 
  332  return connections<QgsAbstractDatabaseProviderConnection>( cached ) ;
 
 
  337  const QMap<QString, QgsAbstractProviderConnection *> constConns { 
connections( cached ) };
 
  338  const QStringList constKeys { constConns.keys( ) };
 
  339  for ( 
const QString &
key : constKeys )
 
  343      return constConns.value( 
key );
 
 
  358  Q_UNUSED( configuration );
 
 
  371  Q_UNUSED( connection )
 
 
  379  const bool isNewConnection = !
connections().contains( name );
 
  381  mProviderConnections.clear();
 
  383  if ( !isNewConnection )
 
  393  QMap<QString, T *> result;
 
  395  const QStringList constConnKeys { constConns.keys() };
 
  396  for ( 
const auto &
c : constConnKeys )
 
  398    T *casted { 
static_cast<T *
>( constConns.value( 
c ) ) };
 
  401      result.insert( 
c, casted );
 
 
  410    const QString &description,
 
  412    const QString &writeDatasetOnfileSuffix )
 
  414  , mDescription( description )
 
  415  , mCapabilities( capabilities )
 
  416  , mWriteDatasetOnFileSuffix( writeDatasetOnfileSuffix )
 
 
  421    const QString &description,
 
  423    const QString &writeDatasetOnfileSuffix,
 
  424    const QString &writeMeshFrameOnFileSuffix,
 
  425    int maxVerticesPerface )
 
  427  , mDescription( description )
 
  428  , mCapabilities( capabilities )
 
  429  , mWriteDatasetOnFileSuffix( writeDatasetOnfileSuffix )
 
  430  , mWriteMeshFrameOnFileSuffix( ( writeMeshFrameOnFileSuffix ) )
 
  431  , mMaxVerticesPerFace( maxVerticesPerface )
 
 
  437  return mCapabilities;
 
 
  452  return mWriteDatasetOnFileSuffix;
 
 
  457  return mWriteMeshFrameOnFileSuffix;
 
 
  462  return mMaxVerticesPerFace;
 
 
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
FileFilterType
Type of file filters.
VectorExportResult
Vector layer export result codes.
@ ErrorProviderUnsupportedFeature
Provider does not support creation of empty layers.
@ RemoveCredentials
Completely remove credentials (eg passwords) from the URI. This flag is not compatible with the Redac...
@ RedactCredentials
Replace the value of credentials (eg passwords) with 'xxxxxxxx'. This flag is not compatible with the...
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
DataType
Raster data types.
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
WkbType
The WKB type describes the number of dimensions a geometry has.
An interface for data provider connections.
virtual void store(const QString &name) const =0
Stores the connection in the settings.
Represents a coordinate reference system (CRS).
Abstract base class for spatial data provider implementations.
static QString removePassword(const QString &aUri, bool hide=false)
Removes the password element from a URI.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Container of fields for a vector layer.
Custom exception class which is raised when an operation is not supported.
QString writePath(const QString &filename) const
Prepare a filename to save it to the project file.
QString readPath(const QString &filename) const
Turn filename read from the project file to an absolute path.
Custom exception class for provider connection related exceptions.
Base class for raster data providers.
A container for the context for various read/write operations on objects.
const QgsPathResolver & pathResolver() const
Returns path resolver for conversion between relative and absolute paths.
Allows creation of a multi-layer database-side transaction.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
Setting options for creating vector data providers.
Mesh - vertices, edges and faces.