QNetworkReply: Deprecate 'error' signal, use 'errorOccurred' instead

[ChangeLog][Deprecation Notice] QNetworkReply::error() (the signal) is deprecated; superseded by errorOccurred()

Change-Id: I4f1ef410fd22d34ddf87e89cc5709cc60703af95
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
Mårten Nordheim 2020-02-29 11:39:58 +01:00 committed by Timur Pocheptsov
parent dd0a197be4
commit 8f8eb99991
11 changed files with 48 additions and 35 deletions

View File

@ -131,7 +131,7 @@ void RSSListing::get(const QUrl &url)
currentReply = manager.get(request);
connect(currentReply, SIGNAL(readyRead()), this, SLOT(readyRead()));
connect(currentReply, SIGNAL(metaDataChanged()), this, SLOT(metaDataChanged()));
connect(currentReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(error(QNetworkReply::NetworkError)));
connect(currentReply, SIGNAL(errorOccurred(QNetworkReply::NetworkError)), this, SLOT(error(QNetworkReply::NetworkError)));
}
/*

View File

@ -91,7 +91,7 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
content.
\note Do not delete the object in the slot connected to the
error() or finished() signal. Use deleteLater().
errorOccurred() or finished() signal. Use deleteLater().
\sa QNetworkRequest, QNetworkAccessManager
*/
@ -219,6 +219,7 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
the server response was detected
\sa error()
\sa errorOccurred()
*/
/*!
@ -362,6 +363,14 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
/*!
\fn void QNetworkReply::error(QNetworkReply::NetworkError code)
\obsolete
Use errorOccurred() instead.
*/
/*!
\fn void QNetworkReply::errorOccurred(QNetworkReply::NetworkError code)
\since 5.15
This signal is emitted when the reply detects an error in
processing. The finished() signal will probably follow, indicating
@ -442,7 +451,7 @@ QNetworkReplyPrivate::QNetworkReplyPrivate()
QNetworkAccessManager functions to do that.
*/
QNetworkReply::QNetworkReply(QObject *parent)
: QIODevice(*new QNetworkReplyPrivate, parent)
: QNetworkReply(*new QNetworkReplyPrivate, parent)
{
}
@ -452,6 +461,8 @@ QNetworkReply::QNetworkReply(QObject *parent)
QNetworkReply::QNetworkReply(QNetworkReplyPrivate &dd, QObject *parent)
: QIODevice(dd, parent)
{
// Support the deprecated error() signal:
connect(this, &QNetworkReply::errorOccurred, this, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error));
}
/*!

View File

@ -156,7 +156,11 @@ public Q_SLOTS:
Q_SIGNALS:
void metaDataChanged();
void finished();
#if QT_DEPRECATED_SINCE(5,15)
QT_DEPRECATED_X("Use QNetworkReply::errorOccurred(QNetworkReply::NetworkError) instead")
void error(QNetworkReply::NetworkError);
#endif
void errorOccurred(QNetworkReply::NetworkError);
#if QT_CONFIG(ssl)
void encrypted();
void sslErrors(const QList<QSslError> &errors);

View File

@ -88,7 +88,7 @@ QNetworkReplyDataImpl::QNetworkReplyDataImpl(QObject *parent, const QNetworkRequ
const QString msg = QCoreApplication::translate("QNetworkAccessDataBackend",
"Invalid URI: %1").arg(url.toString());
setError(QNetworkReply::ProtocolFailure, msg);
QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,
QMetaObject::invokeMethod(this, "errorOccurred", Qt::QueuedConnection,
Q_ARG(QNetworkReply::NetworkError, QNetworkReply::ProtocolFailure));
QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);
}

View File

@ -2265,7 +2265,7 @@ void QNetworkReplyHttpImplPrivate::error(QNetworkReplyImpl::NetworkError code, c
// note: might not be a good idea, since users could decide to delete us
// which would delete the backend too...
// maybe we should protect the backend
emit q->error(code);
emit q->errorOccurred(code);
}
void QNetworkReplyHttpImplPrivate::_q_metaDataChanged()

View File

@ -855,7 +855,7 @@ void QNetworkReplyImplPrivate::error(QNetworkReplyImpl::NetworkError code, const
// note: might not be a good idea, since users could decide to delete us
// which would delete the backend too...
// maybe we should protect the backend
emit q->error(code);
emit q->errorOccurred(code);
}
void QNetworkReplyImplPrivate::metaDataChanged()
@ -1128,7 +1128,7 @@ QDisabledNetworkReply::QDisabledNetworkReply(QObject *parent,
"Network access is disabled.");
setError(UnknownNetworkError, msg);
QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,
QMetaObject::invokeMethod(this, "errorOccurred", Qt::QueuedConnection,
Q_ARG(QNetworkReply::NetworkError, UnknownNetworkError));
QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);
}

View File

@ -513,7 +513,7 @@ void tst_Http2::goaway()
replies[i] = manager->get(request);
QCOMPARE(replies[i]->error(), QNetworkReply::NoError);
void (QNetworkReply::*errorSignal)(QNetworkReply::NetworkError) =
&QNetworkReply::error;
&QNetworkReply::errorOccurred;
connect(replies[i], errorSignal, this, &tst_Http2::replyFinishedWithError);
// Since we're using self-signed certificates, ignore SSL errors:
replies[i]->ignoreSslErrors();

View File

@ -1005,10 +1005,8 @@ void tst_QHttpNetworkConnection::overlappingCloseAndWrite()
for (int i = 0; i < 10; ++i) {
QNetworkRequest request(url);
QNetworkReply *reply = accessManager.get(request);
// Not using Qt5 connection syntax here because of overly baroque syntax to discern between
// different error() methods.
QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
&server, SLOT(onReply(QNetworkReply::NetworkError)));
QObject::connect(reply, &QNetworkReply::errorOccurred,
&server, &TestTcpServer::onReply);
}
QTRY_COMPARE(server.errorCodeReports, 10);

View File

@ -87,7 +87,7 @@ void tst_QNetworkAccessManager::networkAccessible()
// When network is not accessible, all requests fail
QNetworkReply *reply = manager.get(QNetworkRequest(QUrl("http://www.example.org")));
QSignalSpy finishedSpy(reply, &QNetworkReply::finished);
QSignalSpy errorSpy(reply, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error));
QSignalSpy errorSpy(reply, &QNetworkReply::errorOccurred);
QVERIFY(finishedSpy.wait());
QCOMPARE(reply->isFinished(), true);
QCOMPARE(reply->errorString(), QStringLiteral("Network access is disabled."));

View File

@ -1371,7 +1371,7 @@ QString tst_QNetworkReply::runMultipartRequest(const QNetworkRequest &request,
// the code below is copied from tst_QNetworkReply::runSimpleRequest, see below
reply->setParent(this);
connect(reply, SIGNAL(finished()), SLOT(finished()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(gotError()));
connect(reply, SIGNAL(errorOccurred(QNetworkReply::NetworkError)), SLOT(gotError()));
multiPart->setParent(reply.data());
returnCode = Timeout;
@ -1431,7 +1431,7 @@ QString tst_QNetworkReply::runSimpleRequest(QNetworkAccessManager::Operation op,
code = Failure;
} else {
connect(reply, SIGNAL(finished()), SLOT(finished()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(gotError()));
connect(reply, SIGNAL(errorOccurred(QNetworkReply::NetworkError)), SLOT(gotError()));
int count = 0;
loop = new QEventLoop;
@ -1466,7 +1466,7 @@ QString tst_QNetworkReply::runCustomRequest(const QNetworkRequest &request,
reply.reset(manager.sendCustomRequest(request, verb, data));
reply->setParent(this);
connect(reply, SIGNAL(finished()), SLOT(finished()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(gotError()));
connect(reply, SIGNAL(errorOccurred(QNetworkReply::NetworkError)), SLOT(gotError()));
returnCode = Timeout;
loop = new QEventLoop;
@ -1503,7 +1503,7 @@ int tst_QNetworkReply::waitForFinish(QNetworkReplyPtr &reply)
int count = 0;
connect(reply, SIGNAL(finished()), SLOT(finished()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(gotError()));
connect(reply, SIGNAL(errorOccurred(QNetworkReply::NetworkError)), SLOT(gotError()));
returnCode = Success;
loop = new QEventLoop;
QSignalSpy spy(reply.data(), SIGNAL(downloadProgress(qint64,qint64)));
@ -1890,7 +1890,7 @@ void tst_QNetworkReply::getFromFtpAfterError()
QNetworkRequest invalidRequest(QUrl("ftp://" + QtNetworkSettings::ftpServerName() + "/qtest/invalid.txt"));
QNetworkReplyPtr invalidReply;
invalidReply.reset(manager.get(invalidRequest));
QSignalSpy spy(invalidReply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy(invalidReply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QVERIFY(spy.wait());
QCOMPARE(invalidReply->error(), QNetworkReply::ContentNotFoundError);
@ -3911,7 +3911,7 @@ void tst_QNetworkReply::ioGetFromHttpBrokenServer()
QNetworkRequest request(QUrl("http://localhost:" + QString::number(server.serverPort())));
QNetworkReplyPtr reply(manager.get(request));
QSignalSpy spy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply), int(Failure));
@ -5447,7 +5447,7 @@ void tst_QNetworkReply::rateControl()
QNetworkRequest request("debugpipe://localhost:" + QString::number(sender.serverPort()));
QNetworkReplyPtr reply(manager.get(request));
reply->setReadBufferSize(32768);
QSignalSpy errorSpy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy errorSpy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
RateControlledReader reader(sender, reply.data(), rate, 20);
@ -5861,7 +5861,7 @@ void tst_QNetworkReply::nestedEventLoops()
QNetworkReplyPtr reply(manager.get(request));
QSignalSpy finishedspy(reply.data(), SIGNAL(finished()));
QSignalSpy errorspy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy errorspy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(finished()), SLOT(nestedEventLoops_slot()));
QTestEventLoop::instance().enterLoop(20);
@ -6094,7 +6094,7 @@ void tst_QNetworkReply::authorizationError()
QCOMPARE(reply->error(), QNetworkReply::NoError);
QSignalSpy errorSpy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy errorSpy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QSignalSpy finishedSpy(reply.data(), SIGNAL(finished()));
// now run the request:
QCOMPARE(waitForFinish(reply), int(Failure));
@ -7050,7 +7050,7 @@ void tst_QNetworkReply::qtbug4121unknownAuthentication()
QSignalSpy authSpy(&manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)));
QSignalSpy finishedSpy(&manager, SIGNAL(finished(QNetworkReply*)));
QSignalSpy errorSpy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy errorSpy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()), Qt::QueuedConnection);
QTestEventLoop::instance().enterLoop(10);
@ -7371,7 +7371,7 @@ void tst_QNetworkReply::httpWithNoCredentialUsage()
request.setAttribute(QNetworkRequest::AuthenticationReuseAttribute, QNetworkRequest::Manual);
QNetworkReplyPtr reply(manager.get(request));
QSignalSpy errorSpy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy errorSpy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()), Qt::QueuedConnection);
QTestEventLoop::instance().enterLoop(10);
@ -8083,7 +8083,7 @@ void tst_QNetworkReply::emitErrorForAllReplies() // QTBUG-36890
QNetworkRequest request(urls.at(a));
QNetworkReply *reply = manager.get(request);
replies.append(reply);
QSignalSpy *errorSpy = new QSignalSpy(reply, SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy *errorSpy = new QSignalSpy(reply, SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
errorSpies.append(errorSpy);
QSignalSpy *finishedSpy = new QSignalSpy(reply, SIGNAL(finished()));
finishedSpies.append(finishedSpy);
@ -8474,7 +8474,7 @@ void tst_QNetworkReply::ioHttpChangeMaxRedirects()
QNetworkReplyPtr reply(manager.get(request));
QSignalSpy redSpy(reply.data(), SIGNAL(redirected(QUrl)));
QSignalSpy spy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply), int(Failure));
@ -8538,7 +8538,7 @@ void tst_QNetworkReply::ioHttpRedirectErrors()
QTimer watchDog;
watchDog.setSingleShot(true);
reply->connect(reply.data(), QOverload<QNetworkReply::NetworkError>().of(&QNetworkReply::error),
reply->connect(reply.data(), &QNetworkReply::errorOccurred,
[&eventLoop](QNetworkReply::NetworkError){
eventLoop.exit(Failure);
});
@ -8704,7 +8704,7 @@ void tst_QNetworkReply::ioHttpRedirectPolicyErrors()
if (ssl)
reply->ignoreSslErrors();
QSignalSpy spy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply), int(Failure));
QCOMPARE(spy.count(), 1);
@ -9352,7 +9352,7 @@ void tst_QNetworkReply::getWithTimeout()
QNetworkRequest request(QUrl("http://localhost:" + QString::number(server.serverPort())));
QNetworkReplyPtr reply(manager.get(request));
QSignalSpy spy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply), int(Success));
@ -9363,7 +9363,7 @@ void tst_QNetworkReply::getWithTimeout()
server.stopTransfer = true;
QNetworkReplyPtr reply2(manager.get(request));
QSignalSpy spy2(reply2.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy2(reply2.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply2), int(Failure));
@ -9374,7 +9374,7 @@ void tst_QNetworkReply::getWithTimeout()
manager.setTransferTimeout(1000);
QNetworkReplyPtr reply3(manager.get(request));
QSignalSpy spy3(reply3.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy3(reply3.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply3), int(Failure));
@ -9392,7 +9392,7 @@ void tst_QNetworkReply::postWithTimeout()
request.setRawHeader("Content-Type", "application/octet-stream");
QByteArray postData("Just some nonsense");
QNetworkReplyPtr reply(manager.post(request, postData));
QSignalSpy spy(reply.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy(reply.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply), int(Success));
@ -9403,7 +9403,7 @@ void tst_QNetworkReply::postWithTimeout()
server.stopTransfer = true;
QNetworkReplyPtr reply2(manager.post(request, postData));
QSignalSpy spy2(reply2.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy2(reply2.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply2), int(Failure));
@ -9414,7 +9414,7 @@ void tst_QNetworkReply::postWithTimeout()
manager.setTransferTimeout(1000);
QNetworkReplyPtr reply3(manager.post(request, postData));
QSignalSpy spy3(reply3.data(), SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy spy3(reply3.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QCOMPARE(waitForFinish(reply3), int(Failure));

View File

@ -581,7 +581,7 @@ void tst_Spdy::errors()
if (ignoreSslErrors)
reply->ignoreSslErrors();
QSignalSpy finishedSpy(reply, SIGNAL(finished()));
QSignalSpy errorSpy(reply, SIGNAL(error(QNetworkReply::NetworkError)));
QSignalSpy errorSpy(reply, SIGNAL(errorOccurred(QNetworkReply::NetworkError)));
QObject::connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()));