QGIS API Documentation  3.20.0-Odense (decaadbb31)
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 
108  private:
109 
110  QString mAuthCfg;
111  QNetworkReply *mReply = nullptr;
112 
113  bool mContentLoaded = false;
114 
115  bool mIsCanceled = false;
116 
122  QTextCodec *codecForHtml( QByteArray &array ) const;
123 
124  private slots:
125 
130  void contentLoaded( bool ok = true );
131 
132 };
133 
134 #endif
HTTP network content fetcher.
QgsNetworkContentFetcher()=default
Constructor for QgsNetworkContentFetcher.
void finished()
Emitted when content has loaded.
void downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
Emitted when data is received.