QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsnetworkcontentfetchertask.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsnetworkcontentfetchertask.h
3 -------------------
4 begin : March, 2018
5 copyright : (C) 2018 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7
8 ***************************************************************************/
9
10/***************************************************************************
11 * *
12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. *
16 * *
17 ***************************************************************************/
18
19
20#ifndef QGSNETWORKCONTENTFETCHERTASK_H
21#define QGSNETWORKCONTENTFETCHERTASK_H
22
23#include "qgstaskmanager.h"
24#include "qgis_core.h"
25#include <QNetworkRequest>
26#include <QNetworkReply>
27
29
47class CORE_EXPORT QgsNetworkContentFetcherTask : public QgsTask
48{
49 Q_OBJECT
50
51 public:
52
61 QgsNetworkContentFetcherTask( const QUrl &url, const QString &authcfg = QString(), QgsTask::Flags flags = QgsTask::CanCancel,
62 const QString &description = QString() );
63
72 QgsNetworkContentFetcherTask( const QNetworkRequest &request, const QString &authcfg = QString(), QgsTask::Flags flags = QgsTask::CanCancel,
73 const QString &description = QString() );
74
76
77 bool run() override;
78 void cancel() override;
79
88 QNetworkReply *reply();
89
95 QString contentDispositionFilename() const;
96
105 QString contentAsString() const;
106
107 signals:
108
117 void fetched();
118
124 void errorOccurred( QNetworkReply::NetworkError code, const QString &errorMsg );
125
126 private:
127
128 QNetworkRequest mRequest;
129 QString mAuthcfg;
130 QgsNetworkContentFetcher *mFetcher = nullptr;
131 QString mMode;
132 QIODevice *mContent = nullptr;
133};
134
135#endif //QGSNETWORKCONTENTFETCHERTASK_H
Handles HTTP network content fetching in a background task.
void fetched()
Emitted when the network content has been fetched, regardless of whether the fetch was successful or ...
void errorOccurred(QNetworkReply::NetworkError code, const QString &errorMsg)
Emitted when an error with code error occurred while processing the request errorMsg is a textual des...
HTTP network content fetcher.
Abstract base class for long running background tasks.
virtual bool run()=0
Performs the task's operation.
QFlags< Flag > Flags
virtual void cancel()
Notifies the task that it should terminate.
@ CanCancel
Task can be canceled.