QGIS API Documentation  3.23.0-Master (4fd2f04bd0)
qgsnetworkcontentfetcher.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsnetworkcontentfetcher.h
3  -------------------
4  begin : July, 2014
5  copyright : (C) 2014 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 QGSNETWORKCONTENTFETCHER_H
21 #define QGSNETWORKCONTENTFETCHER_H
22 
23 #include <QNetworkReply>
24 #include <QUrl>
25 
26 #include "qgis_core.h"
27 
28 class QTextCodec;
29 
39 class CORE_EXPORT QgsNetworkContentFetcher : public QObject
40 {
41  Q_OBJECT
42 
43  public:
44 
49 
50  ~QgsNetworkContentFetcher() override;
51 
58  void fetchContent( const QUrl &url, const QString &authcfg = QString() );
59 
68  void fetchContent( const QNetworkRequest &request, const QString &authcfg = QString() );
69 
74  QNetworkReply *reply();
75 
80  QString contentAsString() const;
81 
86  void cancel();
87 
93  bool wasCanceled() const;
94 
95  signals:
96 
100  void finished();
101 
106  void downloadProgress( qint64 bytesReceived, qint64 bytesTotal );
107 
113  void errorOccurred( QNetworkReply::NetworkError code, const QString &errorMsg );
114 
115  private:
116 
117  QString mAuthCfg;
118  QNetworkReply *mReply = nullptr;
119 
120  bool mContentLoaded = false;
121 
122  bool mIsCanceled = false;
123 
129  QTextCodec *codecForHtml( QByteArray &array ) const;
130 
131  private slots:
132 
137  void contentLoaded( bool ok = true );
138 
139 };
140 
141 #endif
HTTP network content fetcher.
QgsNetworkContentFetcher()=default
Constructor for QgsNetworkContentFetcher.
void finished()
Emitted when content has loaded.
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...
void downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
Emitted when data is received.