QGIS API Documentation  3.24.2-Tisler (13c1a02865)
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 
47 class CORE_EXPORT QgsNetworkContentFetcherTask : public QgsTask
48 {
49  Q_OBJECT
50 
51  public:
52 
59  QgsNetworkContentFetcherTask( const QUrl &url, const QString &authcfg = QString(), QgsTask::Flags flags = QgsTask::CanCancel );
60 
67  QgsNetworkContentFetcherTask( const QNetworkRequest &request, const QString &authcfg = QString(), QgsTask::Flags flags = QgsTask::CanCancel );
68 
69  ~QgsNetworkContentFetcherTask() override;
70 
71  bool run() override;
72  void cancel() override;
73 
82  QNetworkReply *reply();
83 
92  QString contentAsString() const;
93 
94  signals:
95 
104  void fetched();
105 
111  void errorOccurred( QNetworkReply::NetworkError code, const QString &errorMsg );
112 
113  private:
114 
115  QNetworkRequest mRequest;
116  QString mAuthcfg;
117  QgsNetworkContentFetcher *mFetcher = nullptr;
118  QString mMode;
119  QIODevice *mContent = nullptr;
120 };
121 
122 #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.
virtual void cancel()
Notifies the task that it should terminate.
@ CanCancel
Task can be canceled.