QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
src
core
qgsproxyprogresstask.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsproxyprogresstask.h
3
----------------------
4
begin : August 2018
5
copyright : (C) 2018 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
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 QGSPROXYPROGRESSTASK_H
19
#define QGSPROXYPROGRESSTASK_H
20
21
#include "
qgsvirtuallayerdefinition.h
"
22
#include "
qgstaskmanager.h
"
23
24
#include <QWaitCondition>
25
37
class
CORE_EXPORT
QgsProxyProgressTask
:
public
QgsTask
38
{
39
Q_OBJECT
40
41
public
:
42
46
QgsProxyProgressTask
(
const
QString &description,
bool
canCancel =
false
);
47
54
void
finalize(
bool
result );
55
56
bool
run
()
override
;
57
63
void
setProxyProgress(
double
progress );
64
65
void
cancel
()
override
;
66
67
signals:
68
74
void
canceled();
75
76
private
:
77
78
QWaitCondition mNotFinishedWaitCondition;
79
QMutex mNotFinishedMutex;
80
bool
mAlreadyFinished =
false
;
81
bool
mResult =
true
;
82
83
};
84
94
class
CORE_EXPORT
QgsScopedProxyProgressTask
95
{
96
public
:
97
101
QgsScopedProxyProgressTask
(
const
QString &description );
102
103
~
QgsScopedProxyProgressTask
();
104
108
void
setProgress(
double
progress );
109
110
private
:
111
112
QgsProxyProgressTask
*mTask =
nullptr
;
113
114
// SIP generates .cpp code that doesn't compile if commenting out the legit following line.
115
// Q_DISABLE_COPY( QgsScopedProxyProgressTask )
116
};
117
118
#endif // QGSPROXYPROGRESSTASK_H
qgsvirtuallayerdefinition.h
qgstaskmanager.h
QgsProxyProgressTask
A QgsTask shell which proxies progress reports.
Definition:
qgsproxyprogresstask.h:37
QgsTask::cancel
virtual void cancel()
Notifies the task that it should terminate.
Definition:
qgstaskmanager.cpp:91
QgsScopedProxyProgressTask
Scoped QgsScopedProxyProgressTask, which automatically adds the proxy task to the application task ma...
Definition:
qgsproxyprogresstask.h:94
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:54
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17