QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
|
Handles HTTP network content fetching in a background task. More...
#include <qgsnetworkcontentfetchertask.h>
Signals | |
void | errorOccurred (QNetworkReply::NetworkError code, const QString &errorMsg) |
Emitted when an error with code error occurred while processing the request errorMsg is a textual description of the error. More... | |
void | fetched () |
Emitted when the network content has been fetched, regardless of whether the fetch was successful or not. More... | |
![]() | |
void | begun () |
Will be emitted by task to indicate its commencement. More... | |
void | progressChanged (double progress) |
Will be emitted by task when its progress changes. More... | |
void | statusChanged (int status) |
Will be emitted by task when its status changes. More... | |
void | taskCompleted () |
Will be emitted by task to indicate its successful completion. More... | |
void | taskTerminated () |
Will be emitted by task if it has terminated for any reason other then completion (e.g., when a task has been canceled or encountered an internal error). More... | |
Public Member Functions | |
QgsNetworkContentFetcherTask (const QNetworkRequest &request, const QString &authcfg=QString(), QgsTask::Flags flags=QgsTask::CanCancel, const QString &description=QString()) | |
Constructor for a QgsNetworkContentFetcherTask which fetches the specified network request. More... | |
QgsNetworkContentFetcherTask (const QUrl &url, const QString &authcfg=QString(), QgsTask::Flags flags=QgsTask::CanCancel, const QString &description=QString()) | |
Constructor for a QgsNetworkContentFetcherTask which fetches the specified url. More... | |
~QgsNetworkContentFetcherTask () override | |
void | cancel () override |
Notifies the task that it should terminate. More... | |
QString | contentAsString () const |
Returns the fetched content as a string. More... | |
QString | contentDispositionFilename () const |
Returns the associated filename from the reply's content disposition header, if present. More... | |
QNetworkReply * | reply () |
Returns the network reply. More... | |
bool | run () override |
Performs the task's operation. More... | |
![]() | |
QgsTask (const QString &description=QString(), QgsTask::Flags flags=AllFlags) | |
Constructor for QgsTask. More... | |
~QgsTask () override | |
void | addSubTask (QgsTask *subTask, const QgsTaskList &dependencies=QgsTaskList(), SubTaskDependency subTaskDependency=SubTaskIndependent) |
Adds a subtask to this task. More... | |
bool | canCancel () const |
Returns true if the task can be canceled. More... | |
virtual void | cancel () |
Notifies the task that it should terminate. More... | |
QList< QgsMapLayer * > | dependentLayers () const |
Returns the list of layers on which the task depends. More... | |
QString | description () const |
Returns the task's description. More... | |
qint64 | elapsedTime () const |
Returns the elapsed time since the task commenced, in milliseconds. More... | |
Flags | flags () const |
Returns the flags associated with the task. More... | |
void | hold () |
Places the task on hold. More... | |
bool | isActive () const |
Returns true if the task is active, ie it is not complete and has not been canceled. More... | |
double | progress () const |
Returns the task's progress (between 0.0 and 100.0) More... | |
void | setDependentLayers (const QList< QgsMapLayer * > &dependentLayers) |
Sets a list of layers on which the task depends. More... | |
void | setDescription (const QString &description) |
Sets the task's description. More... | |
TaskStatus | status () const |
Returns the current task status. More... | |
void | unhold () |
Releases the task from being held. More... | |
bool | waitForFinished (int timeout=30000) |
Blocks the current thread until the task finishes or a maximum of timeout milliseconds. More... | |
Additional Inherited Members | |
![]() | |
enum | Flag { CanCancel = 1 << 1 , CancelWithoutPrompt = 1 << 2 , Hidden = 1 << 3 , Silent = 1 << 4 , AllFlags = CanCancel } |
Task flags. More... | |
enum | SubTaskDependency { SubTaskIndependent = 0 , ParentDependsOnSubTask } |
Controls how subtasks relate to their parent task. More... | |
enum | TaskStatus { Queued , OnHold , Running , Complete , Terminated } |
Status of tasks. More... | |
![]() | |
void | setProgress (double progress) |
Sets the task's current progress. More... | |
![]() | |
virtual void | finished (bool result) |
If the task is managed by a QgsTaskManager, this will be called after the task has finished (whether through successful completion or via early termination). More... | |
bool | isCanceled () const |
Will return true if task should terminate ASAP. More... | |
virtual bool | run ()=0 |
Performs the task's operation. More... | |
Handles HTTP network content fetching in a background task.
Provides a simple method for fetching remote HTTP content in a QgsTask. Url redirects are automatically handled.
After constructing a QgsNetworkContentFetcherTask, callers should connect to the QgsNetworkContentFetcherTask::fetched signal. They can then safely access the network reply() from the connected slot without danger of the task being first removed by the QgsTaskManager.
Definition at line 47 of file qgsnetworkcontentfetchertask.h.
QgsNetworkContentFetcherTask::QgsNetworkContentFetcherTask | ( | const QUrl & | url, |
const QString & | authcfg = QString() , |
||
QgsTask::Flags | flags = QgsTask::CanCancel , |
||
const QString & | description = QString() |
||
) |
Constructor for a QgsNetworkContentFetcherTask which fetches the specified url.
Optionally, authentication configuration can be set via the authcfg argument.
Since QGIS 3.28 the optional description can be explicitly set. If not specified, a default task description will be generated.
Definition at line 24 of file qgsnetworkcontentfetchertask.cpp.
QgsNetworkContentFetcherTask::QgsNetworkContentFetcherTask | ( | const QNetworkRequest & | request, |
const QString & | authcfg = QString() , |
||
QgsTask::Flags | flags = QgsTask::CanCancel , |
||
const QString & | description = QString() |
||
) |
Constructor for a QgsNetworkContentFetcherTask which fetches the specified network request.
Optionally, authentication configuration can be set via the authcfg argument.
Since QGIS 3.28 the optional description can be explicitly set. If not specified, a default task description will be generated.
Definition at line 29 of file qgsnetworkcontentfetchertask.cpp.
|
override |
Definition at line 36 of file qgsnetworkcontentfetchertask.cpp.
|
overridevirtual |
Notifies the task that it should terminate.
Calling this is not guaranteed to immediately end the task, rather it sets the isCanceled() flag which task subclasses can check and terminate their operations at an appropriate time. Any subtasks owned by this task will also be canceled. Derived classes must ensure that the base class implementation is called from any overridden version.
Reimplemented from QgsTask.
Definition at line 81 of file qgsnetworkcontentfetchertask.cpp.
QString QgsNetworkContentFetcherTask::contentAsString | ( | ) | const |
Returns the fetched content as a string.
Definition at line 99 of file qgsnetworkcontentfetchertask.cpp.
QString QgsNetworkContentFetcherTask::contentDispositionFilename | ( | ) | const |
Returns the associated filename from the reply's content disposition header, if present.
Definition at line 94 of file qgsnetworkcontentfetchertask.cpp.
|
signal |
Emitted when an error with code error occurred while processing the request errorMsg is a textual description of the error.
|
signal |
Emitted when the network content has been fetched, regardless of whether the fetch was successful or not.
Users of QgsNetworkContentFetcherTask should connect to this signal, and from the associated slot they can then safely access the network reply() without danger of the task being first removed by the QgsTaskManager.
QNetworkReply * QgsNetworkContentFetcherTask::reply | ( | ) |
Returns the network reply.
Ownership is not transferred.
May return nullptr
if the request has not yet completed.
Definition at line 89 of file qgsnetworkcontentfetchertask.cpp.
|
overridevirtual |
Performs the task's operation.
This method will be called when the task commences (ie via calling start() ), and subclasses should implement the operation they wish to perform in the background within this method.
A task must return a boolean value to indicate whether the task was completed successfully or terminated before completion.
Implements QgsTask.
Definition at line 42 of file qgsnetworkcontentfetchertask.cpp.