25 if ( !layers.empty() )
28 for (
const QDomNode &layer : layers )
36 const QString type = layerNode.toElement().attribute( QStringLiteral(
"type" ) );
40 QgsDebugError( QStringLiteral(
"cannot find ``type'' attribute" ) );
45 if (
"raster" == type )
51 else if (
"vector" == type )
65 const QDomNode dataSourceNode = layerNode.namedItem( QStringLiteral(
"datasource" ) );
67 if ( dataSourceNode.isNull() )
69 QgsDebugError( QStringLiteral(
"cannot find datasource node" ) );
74 return dataSourceNode.toElement().text();
89 if ( ds.contains( QLatin1String(
"host=" ) ) )
93 else if ( ds.contains( QLatin1String(
"dbname=" ) ) )
108 QgsDebugError( QStringLiteral(
"unknown ``type'' attribute" ) );
116 const QDomNode dataSourceNode = layerNode.namedItem( QStringLiteral(
"datasource" ) );
117 const QDomElement dataSourceElement = dataSourceNode.toElement();
118 QDomText dataSourceText = dataSourceElement.firstChild().toText();
static void logMessage(const QString &message, const QString &tag=QString(), Qgis::MessageLevel level=Qgis::MessageLevel::Warning, bool notifyUser=true)
Adds a message to the log instance (and creates it if necessary).
void setDataSource(QDomNode &layerNode, const QString &dataSource)
Set the datasource element to the new value.
ProviderType
the flavors for data storage
@ IS_FILE
Saved in a file.
@ IS_Unknown
Unknown type.
@ IS_DATABASE
Saved in a database.
@ IS_URL
Retrieved from a URL.
virtual void handleBadLayers(const QList< QDomNode > &layers)
This method will be called whenever the project tries to load layers which cannot be accessed.
ProviderType providerType(const QDomNode &layerNode)
Returns the physical storage type associated with the given layer.
QString dataSource(const QDomNode &layerNode)
Returns the data source for the given layer.
DataType dataType(const QDomNode &layerNode)
Returns data type associated with the given QgsProject file Dom node.
DataType
file data representation
#define QgsDebugMsgLevel(str, level)
#define QgsDebugError(str)