QGIS API Documentation  3.20.0-Odense (decaadbb31)
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 
28 class QNetworkReply;
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 
106  private:
107 
108  QNetworkRequest mRequest;
109  QString mAuthcfg;
110  QgsNetworkContentFetcher *mFetcher = nullptr;
111 
112 };
113 
114 #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 ...
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.