QGIS API Documentation  3.27.0-Master (bef583a8ef)
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 
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 
75  ~QgsNetworkContentFetcherTask() override;
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.
virtual void cancel()
Notifies the task that it should terminate.
@ CanCancel
Task can be canceled.