QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
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
qgstaskmanager.h
QgsNetworkContentFetcherTask
Handles HTTP network content fetching in a background task.
Definition: qgsnetworkcontentfetchertask.h:47
QgsTask::cancel
virtual void cancel()
Notifies the task that it should terminate.
Definition: qgstaskmanager.cpp:91
QgsTask::CanCancel
@ CanCancel
Task can be canceled.
Definition: qgstaskmanager.h:74
QgsNetworkContentFetcher
HTTP network content fetcher. A simple method for fetching remote HTTP content and converting the con...
Definition: qgsnetworkcontentfetcher.h:39
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