QGIS API Documentation  3.14.0-Pi (9f7028fd23)
qgsvirtuallayertask.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvirtuallayertask.h - description
3  -------------------
4  begin : Jan 19, 2018
5  copyright : (C) 2017 by Paul Blottiere
6  email : [email protected]
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSVIRTUALLAYERTASK_H
19 #define QGSVIRTUALLAYERTASK_H
20 
22 #include "qgstaskmanager.h"
23 #include "qgsvectorlayer.h"
24 
33 class CORE_EXPORT QgsVirtualLayerTask : public QgsTask
34 {
35  Q_OBJECT
36 
37  public:
38 
44 
48  QgsVectorLayer *layer();
49 
53  QgsVectorLayer *takeLayer();
54 
58  QgsVirtualLayerDefinition definition() const;
59 
64  bool run() override;
65 
69  void cancel() override;
70 
75  QString exceptionText() const;
76 
81  void setExceptionText( const QString &exceptionText );
82 
83  private:
84  QString mExceptionText;
85  QgsVirtualLayerDefinition mDefinition;
86  std::unique_ptr<QgsVectorLayer> mLayer;
87 };
88 
89 #endif // QGSVECTORLAYERTASK_H
qgsvirtuallayerdefinition.h
qgstaskmanager.h
QgsTask::cancel
virtual void cancel()
Notifies the task that it should terminate.
Definition: qgstaskmanager.cpp:91
qgsvectorlayer.h
QgsVirtualLayerTask
Definition: qgsvirtuallayertask.h:33
QgsVectorLayer
Definition: qgsvectorlayer.h:385
QgsVirtualLayerDefinition
Definition: qgsvirtuallayerdefinition.h:31
QgsTask::run
virtual bool run()=0
Performs the task's operation.
QgsTask
Abstract base class for long running background tasks. Tasks can be controlled directly,...
Definition: qgstaskmanager.h:52