summaryrefslogtreecommitdiffstats
path: root/examples/network
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-02-28 08:40:53 +0100
committerLars Knoll <lars.knoll@qt.io>2020-02-28 09:48:30 +0100
commita450cce6b670dbcac84fcc4a66fc632b31ce8414 (patch)
tree35b77fa22c4def97b619bd3a87f6d394e452bb2e /examples/network
parentf6f6eab89f57fb0db8f623f4a92a7b9c4ba6e9ea (diff)
parent4c86e667d220e27bb4b6e370675ffb2872e8521c (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Diffstat (limited to 'examples/network')
-rw-r--r--examples/network/blockingfortuneclient/fortunethread.cpp4
-rw-r--r--examples/network/doc/src/fortuneclient.qdoc6
-rw-r--r--examples/network/download/main.cpp2
-rw-r--r--examples/network/downloadmanager/downloadmanager.cpp2
-rw-r--r--examples/network/fortuneclient/client.cpp2
-rw-r--r--examples/network/googlesuggest/googlesuggest.cpp2
-rw-r--r--examples/network/http/CMakeLists.txt10
-rw-r--r--examples/network/http/http.pro4
-rw-r--r--examples/network/http/httpwindow.cpp2
-rw-r--r--examples/network/http/main.cpp21
-rw-r--r--examples/network/loopback/dialog.cpp5
-rw-r--r--examples/network/network-chat/client.cpp3
-rw-r--r--examples/network/threadedfortuneserver/fortunethread.cpp2
-rw-r--r--examples/network/torrent/peerwireclient.cpp4
-rw-r--r--examples/network/torrent/torrentclient.cpp4
-rw-r--r--examples/network/torrent/torrentserver.cpp2
-rw-r--r--examples/network/torrent/trackerclient.cpp4
17 files changed, 55 insertions, 24 deletions
diff --git a/examples/network/blockingfortuneclient/fortunethread.cpp b/examples/network/blockingfortuneclient/fortunethread.cpp
index 24801436df..67ac7ebfa5 100644
--- a/examples/network/blockingfortuneclient/fortunethread.cpp
+++ b/examples/network/blockingfortuneclient/fortunethread.cpp
@@ -103,7 +103,7 @@ void FortuneThread::run()
//! [6] //! [8]
if (!socket.waitForConnected(Timeout)) {
- emit error(socket.socketError(), socket.errorString());
+ emit error(socket.error(), socket.errorString());
return;
}
//! [8] //! [11]
@@ -115,7 +115,7 @@ void FortuneThread::run()
do {
if (!socket.waitForReadyRead(Timeout)) {
- emit error(socket.socketError(), socket.errorString());
+ emit error(socket.error(), socket.errorString());
return;
}
diff --git a/examples/network/doc/src/fortuneclient.qdoc b/examples/network/doc/src/fortuneclient.qdoc
index 544fa156b7..4cb7544fc0 100644
--- a/examples/network/doc/src/fortuneclient.qdoc
+++ b/examples/network/doc/src/fortuneclient.qdoc
@@ -89,7 +89,7 @@
The only QTcpSocket signals we need in this example are
QTcpSocket::readyRead(), signifying that data has been received, and
- QTcpSocket::error(), which we will use to catch any connection errors:
+ QTcpSocket::errorOccurred(), which we will use to catch any connection errors:
\dots
\snippet fortuneclient/client.cpp 3
@@ -118,11 +118,11 @@
\li \e{An error occurs.} We need to inform the user if the connection
failed or was broken. In this case, QTcpSocket will emit
- \l{QTcpSocket::error()}{error()}, and \c Client::displayError() will be
+ \l{QTcpSocket::errorOccurred()}{errorOccurred()}, and \c Client::displayError() will be
called.
\endlist
- Let's go through the \l{QTcpSocket::error()}{error()} case first:
+ Let's go through the \l{QTcpSocket::errorOccurred()}{errorOccurred()} case first:
\snippet fortuneclient/client.cpp 13
diff --git a/examples/network/download/main.cpp b/examples/network/download/main.cpp
index f496c1723e..076dfdfd0b 100644
--- a/examples/network/download/main.cpp
+++ b/examples/network/download/main.cpp
@@ -175,7 +175,7 @@ void DownloadManager::sslErrors(const QList<QSslError> &sslErrors)
void DownloadManager::downloadFinished(QNetworkReply *reply)
{
QUrl url = reply->url();
- if (reply->networkError()) {
+ if (reply->error()) {
fprintf(stderr, "Download of %s failed: %s\n",
url.toEncoded().constData(),
qPrintable(reply->errorString()));
diff --git a/examples/network/downloadmanager/downloadmanager.cpp b/examples/network/downloadmanager/downloadmanager.cpp
index eceb48977b..cbad29541a 100644
--- a/examples/network/downloadmanager/downloadmanager.cpp
+++ b/examples/network/downloadmanager/downloadmanager.cpp
@@ -162,7 +162,7 @@ void DownloadManager::downloadFinished()
progressBar.clear();
output.close();
- if (currentDownload->networkError()) {
+ if (currentDownload->error()) {
// download failed
fprintf(stderr, "Failed: %s\n", qPrintable(currentDownload->errorString()));
output.remove();
diff --git a/examples/network/fortuneclient/client.cpp b/examples/network/fortuneclient/client.cpp
index 0ccbf51df8..2daac33c2b 100644
--- a/examples/network/fortuneclient/client.cpp
+++ b/examples/network/fortuneclient/client.cpp
@@ -121,7 +121,7 @@ Client::Client(QWidget *parent)
//! [2] //! [3]
connect(tcpSocket, &QIODevice::readyRead, this, &Client::readFortune);
//! [2] //! [4]
- connect(tcpSocket, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error),
+ connect(tcpSocket, &QAbstractSocket::errorOccurred,
//! [3]
this, &Client::displayError);
//! [4]
diff --git a/examples/network/googlesuggest/googlesuggest.cpp b/examples/network/googlesuggest/googlesuggest.cpp
index 1ae515f530..2cba43178e 100644
--- a/examples/network/googlesuggest/googlesuggest.cpp
+++ b/examples/network/googlesuggest/googlesuggest.cpp
@@ -209,7 +209,7 @@ void GSuggestCompletion::preventSuggest()
void GSuggestCompletion::handleNetworkData(QNetworkReply *networkReply)
{
QUrl url = networkReply->url();
- if (networkReply->networkError() == QNetworkReply::NoError) {
+ if (networkReply->error() == QNetworkReply::NoError) {
QVector<QString> choices;
QByteArray response(networkReply->readAll());
diff --git a/examples/network/http/CMakeLists.txt b/examples/network/http/CMakeLists.txt
index 3ce82d63da..d9f50f5c9d 100644
--- a/examples/network/http/CMakeLists.txt
+++ b/examples/network/http/CMakeLists.txt
@@ -28,6 +28,16 @@ target_link_libraries(http PUBLIC
Qt::Widgets
)
+if(ANDROID AND TARGET Qt::AndroidExtras)
+ target_compile_definitions(http PUBLIC
+ REQUEST_PERMISSIONS_ON_ANDROID
+ )
+
+ target_link_libraries(http PUBLIC
+ Qt::AndroidExtras
+ )
+endif()
+
install(TARGETS http
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/network/http/http.pro b/examples/network/http/http.pro
index 2f2d3b00ae..f67cd01495 100644
--- a/examples/network/http/http.pro
+++ b/examples/network/http/http.pro
@@ -1,4 +1,8 @@
QT += network widgets
+android: qtHaveModule(androidextras) {
+ QT += androidextras
+ DEFINES += REQUEST_PERMISSIONS_ON_ANDROID
+}
HEADERS += httpwindow.h
SOURCES += httpwindow.cpp \
diff --git a/examples/network/http/httpwindow.cpp b/examples/network/http/httpwindow.cpp
index d0eb2529cd..c7bf0c0dff 100644
--- a/examples/network/http/httpwindow.cpp
+++ b/examples/network/http/httpwindow.cpp
@@ -249,7 +249,7 @@ void HttpWindow::httpFinished()
return;
}
- if (reply->networkError()) {
+ if (reply->error()) {
QFile::remove(fi.absoluteFilePath());
statusLabel->setText(tr("Download failed:\n%1.").arg(reply->errorString()));
downloadButton->setEnabled(true);
diff --git a/examples/network/http/main.cpp b/examples/network/http/main.cpp
index f126c7846a..1339f2f693 100644
--- a/examples/network/http/main.cpp
+++ b/examples/network/http/main.cpp
@@ -53,11 +53,30 @@
#include <QScreen>
#include "httpwindow.h"
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+#include <QtAndroid>
+
+bool requestStoragePermission() {
+ using namespace QtAndroid;
+
+ QString permission = QStringLiteral("android.permission.WRITE_EXTERNAL_STORAGE");
+ const QHash<QString, PermissionResult> results = requestPermissionsSync(QStringList({permission}));
+ if (!results.contains(permission) || results[permission] == PermissionResult::Denied) {
+ qWarning() << "Couldn't get permission: " << permission;
+ return false;
+ }
+
+ return true;
+}
+#endif
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
-
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+ if (!requestStoragePermission())
+ return -1;
+#endif
HttpWindow httpWin;
const QRect availableSize = httpWin.screen()->availableGeometry();
httpWin.resize(availableSize.width() / 5, availableSize.height() / 5);
diff --git a/examples/network/loopback/dialog.cpp b/examples/network/loopback/dialog.cpp
index d87f024031..4037f4c085 100644
--- a/examples/network/loopback/dialog.cpp
+++ b/examples/network/loopback/dialog.cpp
@@ -78,7 +78,7 @@ Dialog::Dialog(QWidget *parent)
connect(&tcpClient, &QAbstractSocket::connected, this, &Dialog::startTransfer);
connect(&tcpClient, &QIODevice::bytesWritten,
this, &Dialog::updateClientProgress);
- connect(&tcpClient, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error),
+ connect(&tcpClient, &QAbstractSocket::errorOccurred,
this, &Dialog::displayError);
QVBoxLayout *mainLayout = new QVBoxLayout;
@@ -131,8 +131,7 @@ void Dialog::acceptConnection()
connect(tcpServerConnection, &QIODevice::readyRead,
this, &Dialog::updateServerProgress);
- connect(tcpServerConnection,
- QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error),
+ connect(tcpServerConnection, &QAbstractSocket::errorOccurred,
this, &Dialog::displayError);
connect(tcpServerConnection, &QTcpSocket::disconnected,
tcpServerConnection, &QTcpSocket::deleteLater);
diff --git a/examples/network/network-chat/client.cpp b/examples/network/network-chat/client.cpp
index d451181813..fe35d535f4 100644
--- a/examples/network/network-chat/client.cpp
+++ b/examples/network/network-chat/client.cpp
@@ -102,8 +102,7 @@ void Client::newConnection(Connection *connection)
{
connection->setGreetingMessage(peerManager->userName());
- connect(connection, QOverload<QAbstractSocket::SocketError>::of(&Connection::error),
- this, &Client::connectionError);
+ connect(connection, &Connection::errorOccurred, this, &Client::connectionError);
connect(connection, &Connection::disconnected, this, &Client::disconnected);
connect(connection, &Connection::readyForUse, this, &Client::readyForUse);
}
diff --git a/examples/network/threadedfortuneserver/fortunethread.cpp b/examples/network/threadedfortuneserver/fortunethread.cpp
index 2e730c6c8f..ddde5121a3 100644
--- a/examples/network/threadedfortuneserver/fortunethread.cpp
+++ b/examples/network/threadedfortuneserver/fortunethread.cpp
@@ -65,7 +65,7 @@ void FortuneThread::run()
QTcpSocket tcpSocket;
//! [1] //! [2]
if (!tcpSocket.setSocketDescriptor(socketDescriptor)) {
- emit error(tcpSocket.socketError());
+ emit error(tcpSocket.error());
return;
}
//! [2] //! [3]
diff --git a/examples/network/torrent/peerwireclient.cpp b/examples/network/torrent/peerwireclient.cpp
index cea4ef53fa..c30abd0e13 100644
--- a/examples/network/torrent/peerwireclient.cpp
+++ b/examples/network/torrent/peerwireclient.cpp
@@ -107,8 +107,8 @@ PeerWireClient::PeerWireClient(const QByteArray &peerId, QObject *parent)
this, &PeerWireClient::readyRead);
connect(&socket, &QTcpSocket::disconnected,
this, &PeerWireClient::disconnected);
- connect(&socket, QOverload<QAbstractSocket::SocketError>::of(&QTcpSocket::error),
- this, QOverload<QAbstractSocket::SocketError>::of(&PeerWireClient::error));
+ connect(&socket, &QTcpSocket::errorOccurred,
+ this, &PeerWireClient::errorOccurred);
connect(&socket, &QTcpSocket::bytesWritten,
this, &PeerWireClient::bytesWritten);
connect(&socket, &QTcpSocket::stateChanged,
diff --git a/examples/network/torrent/torrentclient.cpp b/examples/network/torrent/torrentclient.cpp
index 00f46df892..2ba4476861 100644
--- a/examples/network/torrent/torrentclient.cpp
+++ b/examples/network/torrent/torrentclient.cpp
@@ -843,7 +843,7 @@ void TorrentClient::initializeConnection(PeerWireClient *client)
this, &TorrentClient::setupOutgoingConnection);
connect(client, &PeerWireClient::disconnected,
this, &TorrentClient::removeClient);
- connect(client, QOverload<QAbstractSocket::SocketError>::of(&PeerWireClient::error),
+ connect(client, &PeerWireClient::errorOccurred,
this, &TorrentClient::removeClient);
connect(client, &PeerWireClient::piecesAvailable,
this, &TorrentClient::peerPiecesAvailable);
@@ -867,7 +867,7 @@ void TorrentClient::removeClient()
// Remove the host from our list of known peers if the connection
// failed.
- if (client->peer() && client->socketError() == QAbstractSocket::ConnectionRefusedError)
+ if (client->peer() && client->error() == QAbstractSocket::ConnectionRefusedError)
d->peers.removeAll(client->peer());
// Remove the client from RateController and all structures.
diff --git a/examples/network/torrent/torrentserver.cpp b/examples/network/torrent/torrentserver.cpp
index 215498194b..7af958c27c 100644
--- a/examples/network/torrent/torrentserver.cpp
+++ b/examples/network/torrent/torrentserver.cpp
@@ -80,7 +80,7 @@ void TorrentServer::incomingConnection(qintptr socketDescriptor)
if (ConnectionManager::instance()->canAddConnection() && !clients.isEmpty()) {
connect(client, &PeerWireClient::infoHashReceived,
this, &TorrentServer::processInfoHash);
- connect(client, QOverload<QAbstractSocket::SocketError>::of(&PeerWireClient::error),
+ connect(client, &PeerWireClient::errorOccurred,
this, QOverload<>::of(&TorrentServer::removeClient));
RateController::instance()->addSocket(client);
ConnectionManager::instance()->addConnection(client);
diff --git a/examples/network/torrent/trackerclient.cpp b/examples/network/torrent/trackerclient.cpp
index a50a49fd64..264a6cc04c 100644
--- a/examples/network/torrent/trackerclient.cpp
+++ b/examples/network/torrent/trackerclient.cpp
@@ -165,8 +165,8 @@ void TrackerClient::httpRequestDone(QNetworkReply *reply)
return;
}
- if (reply->networkError() != QNetworkReply::NoError) {
- emit connectionError(reply->networkError());
+ if (reply->error() != QNetworkReply::NoError) {
+ emit connectionError(reply->error());
return;
}