QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
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 "qgis_core.h"
24
25#include <QNetworkReply>
26#include <QUrl>
27
28class QTextCodec;
29
41class CORE_EXPORT QgsNetworkContentFetcher : public QObject
42{
43 Q_OBJECT
44
45 public:
46
48
50
57 void fetchContent( const QUrl &url, const QString &authcfg = QString() );
58
67 void fetchContent( const QNetworkRequest &request, const QString &authcfg = QString() );
68
73 QNetworkReply *reply();
74
80 QString contentDispositionFilename() const;
81
86 QString contentAsString() const;
87
92 void cancel();
93
99 bool wasCanceled() const;
100
101 signals:
102
106 void finished();
107
112 void downloadProgress( qint64 bytesReceived, qint64 bytesTotal );
113
119 void errorOccurred( QNetworkReply::NetworkError code, const QString &errorMsg );
120
121 private:
122
123 QString mAuthCfg;
124 std::unique_ptr<QNetworkReply> mReply;
125
126 bool mContentLoaded = false;
127
128 bool mIsCanceled = false;
129
135 QTextCodec *codecForHtml( QByteArray &array ) const;
136
137 private slots:
138
143 void contentLoaded( bool ok = true );
144
145};
146
147#endif
QgsNetworkContentFetcher()=default
QString contentDispositionFilename() const
Returns the associated filename from the reply's content disposition header, if present.
void finished()
Emitted when content has loaded.
bool wasCanceled() const
Returns true if the fetching was canceled.
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 cancel()
Cancels any ongoing request.
void downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
Emitted when data is received.
QNetworkReply * reply()
Returns a reference to the network reply.
QString contentAsString() const
Returns the fetched content as a string.
void fetchContent(const QUrl &url, const QString &authcfg=QString())
Fetches content from a remote URL and handles redirects.