23#include "moc_qgsvirtuallayertask.cpp"
28 mDefinition.setLazy(
true );
30 mLayer = std::make_unique<QgsVectorLayer>( mDefinition.toString(), QStringLiteral(
"layer" ), QLatin1String(
"virtual" ), options );
39 rc = mLayer->isValid();
41 catch ( std::exception &e )
43 QgsDebugError( QStringLiteral(
"Reload error: %1" ).arg( e.what() ) );
62 return mLayer.release();
73 return mExceptionText;
Contains information about the context in which a coordinate transform is executed.
virtual void cancel()
Notifies the task that it should terminate.
virtual bool cancelReload()
Cancels the current reloading of data.
Represents a vector layer which manages a vector based dataset.
QgsVectorDataProvider * dataProvider() final
Returns the layer's data provider, it may be nullptr.
Manipulates the definition of a virtual layer.
QgsVectorLayer * takeLayer()
Returns the underlying virtual layer and ownership.
QString exceptionText() const
Returns the exception text or an empty string if no exceptions were raised.
void cancel() override
Cancels the pending query and the parent task.
bool run() override
Reloads the data.
QgsVectorLayer * layer()
Returns the underlying virtual layer.
QgsVirtualLayerDefinition definition() const
Returns the virtual layer definition.
QgsVirtualLayerTask(const QgsVirtualLayerDefinition &definition)
Constructor.
void setExceptionText(const QString &exceptionText)
Sets the exceptionText.
#define QgsDebugError(str)
Setting options for loading vector layers.