diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-07 12:47:48 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-07 12:50:33 +0100 |
commit | ba34b0fac30dbfdd6eb32a1842e111d65ebdc256 (patch) | |
tree | 10c97debefc953dd62847183c11ed4e225e08202 /rbutil/rbutilqt/base/httpget.cpp | |
parent | 4815a64f93b0f10ea550dd80b78e32b91b8350bb (diff) | |
download | rockbox-ba34b0fac30dbfdd6eb32a1842e111d65ebdc256.tar.gz rockbox-ba34b0fac30dbfdd6eb32a1842e111d65ebdc256.zip |
rbutil: Modernize HttpGet implementation.
- Change signal-slot connections to new style, and fix renamed signal
for Qt6.
- Make more use of RAII.
Change-Id: I14e52eb6bfdbb89bccafb33e4988af25b5d82713
Diffstat (limited to 'rbutil/rbutilqt/base/httpget.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/httpget.cpp | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/rbutil/rbutilqt/base/httpget.cpp b/rbutil/rbutilqt/base/httpget.cpp index 12429e5d17..2df9501fd6 100644 --- a/rbutil/rbutilqt/base/httpget.cpp +++ b/rbutil/rbutilqt/base/httpget.cpp | |||
@@ -29,18 +29,18 @@ QDir HttpGet::m_globalCache; //< global cach path value for new objects | |||
29 | QNetworkProxy HttpGet::m_globalProxy; | 29 | QNetworkProxy HttpGet::m_globalProxy; |
30 | 30 | ||
31 | HttpGet::HttpGet(QObject *parent) | 31 | HttpGet::HttpGet(QObject *parent) |
32 | : QObject(parent) | 32 | : QObject(parent), |
33 | m_mgr(this), | ||
34 | m_reply(nullptr), | ||
35 | m_cache(nullptr), | ||
36 | m_cachedir(m_globalCache), | ||
37 | m_outputFile(nullptr), | ||
38 | m_proxy(QNetworkProxy::NoProxy) | ||
33 | { | 39 | { |
34 | m_mgr = new QNetworkAccessManager(this); | ||
35 | m_cache = NULL; | ||
36 | m_cachedir = m_globalCache; | ||
37 | setCache(true); | 40 | setCache(true); |
38 | connect(m_mgr, SIGNAL(finished(QNetworkReply*)), | 41 | connect(&m_mgr, &QNetworkAccessManager::finished, this, |
39 | this, SLOT(requestFinished(QNetworkReply*))); | 42 | static_cast<void (HttpGet::*)(QNetworkReply*)>(&HttpGet::requestFinished)); |
40 | m_outputFile = NULL; | ||
41 | m_lastServerTimestamp = QDateTime(); | 43 | m_lastServerTimestamp = QDateTime(); |
42 | m_proxy = QNetworkProxy::NoProxy; | ||
43 | m_reply = NULL; | ||
44 | } | 44 | } |
45 | 45 | ||
46 | 46 | ||
@@ -67,7 +67,7 @@ void HttpGet::setCache(bool c) | |||
67 | // don't delete the old cache directly, it might still be in use. Just | 67 | // don't delete the old cache directly, it might still be in use. Just |
68 | // instruct it to delete itself later. | 68 | // instruct it to delete itself later. |
69 | if(m_cache) m_cache->deleteLater(); | 69 | if(m_cache) m_cache->deleteLater(); |
70 | m_cache = NULL; | 70 | m_cache = nullptr; |
71 | 71 | ||
72 | QString path = m_cachedir.absolutePath(); | 72 | QString path = m_cachedir.absolutePath(); |
73 | 73 | ||
@@ -83,7 +83,7 @@ void HttpGet::setCache(bool c) | |||
83 | m_cache = new QNetworkDiskCache(this); | 83 | m_cache = new QNetworkDiskCache(this); |
84 | m_cache->setCacheDirectory(path); | 84 | m_cache->setCacheDirectory(path); |
85 | } | 85 | } |
86 | m_mgr->setCache(m_cache); | 86 | m_mgr.setCache(m_cache); |
87 | } | 87 | } |
88 | 88 | ||
89 | 89 | ||
@@ -107,7 +107,7 @@ void HttpGet::setProxy(const QUrl &proxy) | |||
107 | m_proxy.setPort(proxy.port()); | 107 | m_proxy.setPort(proxy.port()); |
108 | m_proxy.setUser(proxy.userName()); | 108 | m_proxy.setUser(proxy.userName()); |
109 | m_proxy.setPassword(proxy.password()); | 109 | m_proxy.setPassword(proxy.password()); |
110 | m_mgr->setProxy(m_proxy); | 110 | m_mgr.setProxy(m_proxy); |
111 | } | 111 | } |
112 | 112 | ||
113 | 113 | ||
@@ -116,8 +116,8 @@ void HttpGet::setProxy(const QUrl &proxy) | |||
116 | */ | 116 | */ |
117 | void HttpGet::setProxy(bool enable) | 117 | void HttpGet::setProxy(bool enable) |
118 | { | 118 | { |
119 | if(enable) m_mgr->setProxy(m_proxy); | 119 | if(enable) m_mgr.setProxy(m_proxy); |
120 | else m_mgr->setProxy(QNetworkProxy::NoProxy); | 120 | else m_mgr.setProxy(QNetworkProxy::NoProxy); |
121 | } | 121 | } |
122 | 122 | ||
123 | 123 | ||
@@ -185,7 +185,7 @@ void HttpGet::requestFinished(QNetworkReply* reply) | |||
185 | emit done(true); | 185 | emit done(true); |
186 | } | 186 | } |
187 | reply->deleteLater(); | 187 | reply->deleteLater(); |
188 | m_reply = NULL; | 188 | m_reply = nullptr; |
189 | } | 189 | } |
190 | 190 | ||
191 | 191 | ||
@@ -202,11 +202,15 @@ void HttpGet::startRequest(QUrl url) | |||
202 | if(!m_globalUserAgent.isEmpty()) | 202 | if(!m_globalUserAgent.isEmpty()) |
203 | req.setRawHeader("User-Agent", m_globalUserAgent.toLatin1()); | 203 | req.setRawHeader("User-Agent", m_globalUserAgent.toLatin1()); |
204 | 204 | ||
205 | m_reply = m_mgr->get(req); | 205 | m_reply = m_mgr.get(req); |
206 | connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), | 206 | #if QT_VERSION < 0x050f00 |
207 | this, SLOT(networkError(QNetworkReply::NetworkError))); | 207 | connect(m_reply, |
208 | connect(m_reply, SIGNAL(downloadProgress(qint64, qint64)), | 208 | static_cast<void (QNetworkReply::*)(QNetworkReply::NetworkError)>(&QNetworkReply::error), |
209 | this, SLOT(downloadProgress(qint64, qint64))); | 209 | this, &HttpGet::networkError); |
210 | #else | ||
211 | connect(m_reply, &QNetworkReply::errorOccurred, this, &HttpGet::networkError); | ||
212 | #endif | ||
213 | connect(m_reply, &QNetworkReply::downloadProgress, this, &HttpGet::downloadProgress); | ||
210 | } | 214 | } |
211 | 215 | ||
212 | 216 | ||