From e1c3083dadcb8ba69dc3a379a03ae37bbbd1c319 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 8 May 2023 21:48:03 -0700 Subject: QDnsLookup: make the query() function non-static MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simplifies arguments and will allow me to add stateful helper methods. Change-Id: I3e3bfef633af4130a03afffd175d6044829a96f2 Reviewed-by: MÃ¥rten Nordheim --- src/network/kernel/qdnslookup.cpp | 11 +++++++++-- src/network/kernel/qdnslookup_dummy.cpp | 8 ++------ src/network/kernel/qdnslookup_p.h | 10 +++------- src/network/kernel/qdnslookup_unix.cpp | 2 +- src/network/kernel/qdnslookup_win.cpp | 2 +- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/network/kernel/qdnslookup.cpp b/src/network/kernel/qdnslookup.cpp index 29f0c4928a..2d9ada7f41 100644 --- a/src/network/kernel/qdnslookup.cpp +++ b/src/network/kernel/qdnslookup.cpp @@ -470,7 +470,7 @@ void QDnsLookup::lookup() Q_D(QDnsLookup); d->isFinished = false; d->reply = QDnsLookupReply(); - d->runnable = new QDnsLookupRunnable(d->type, QUrl::toAce(d->name), d->nameserver); + d->runnable = new QDnsLookupRunnable(d); connect(d->runnable, &QDnsLookupRunnable::finished, this, [this](const QDnsLookupReply &reply) { d_func()->_q_lookupFinished(reply); }, Qt::BlockingQueuedConnection); @@ -965,6 +965,13 @@ void QDnsLookupPrivate::_q_lookupFinished(const QDnsLookupReply &_reply) } } +inline QDnsLookupRunnable::QDnsLookupRunnable(const QDnsLookupPrivate *d) + : requestName(QUrl::toAce(d->name)), + nameserver(d->nameserver), + requestType(d->type) +{ +} + void QDnsLookupRunnable::run() { QDnsLookupReply reply; @@ -978,7 +985,7 @@ void QDnsLookupRunnable::run() } // Perform request. - query(requestType, requestName, nameserver, &reply); + query(&reply); // Sort results. qt_qdnsmailexchangerecord_sort(reply.mailExchangeRecords); diff --git a/src/network/kernel/qdnslookup_dummy.cpp b/src/network/kernel/qdnslookup_dummy.cpp index d17cc66dce..39d3ba6509 100644 --- a/src/network/kernel/qdnslookup_dummy.cpp +++ b/src/network/kernel/qdnslookup_dummy.cpp @@ -5,13 +5,9 @@ QT_BEGIN_NAMESPACE -void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestName, const QHostAddress &nameserver, QDnsLookupReply *reply) +void QDnsLookupRunnable::query(QDnsLookupReply *reply) { - Q_UNUSED(requestType); - Q_UNUSED(requestName); - Q_UNUSED(nameserver); - Q_UNUSED(reply); - qWarning("Not yet supported on Android"); + qWarning("Not yet supported on this OS"); reply->error = QDnsLookup::ResolverError; reply->errorString = tr("Not yet supported on this OS"); return; diff --git a/src/network/kernel/qdnslookup_p.h b/src/network/kernel/qdnslookup_p.h index fa7e6cd717..3b0c476c2a 100644 --- a/src/network/kernel/qdnslookup_p.h +++ b/src/network/kernel/qdnslookup_p.h @@ -102,21 +102,17 @@ class QDnsLookupRunnable : public QObject, public QRunnable Q_OBJECT public: - QDnsLookupRunnable(QDnsLookup::Type type, const QByteArray &name, const QHostAddress &nameserver) - : requestType(type) - , requestName(name) - , nameserver(nameserver) - { } + QDnsLookupRunnable(const QDnsLookupPrivate *d); void run() override; signals: void finished(const QDnsLookupReply &reply); private: - static void query(const int requestType, const QByteArray &requestName, const QHostAddress &nameserver, QDnsLookupReply *reply); - QDnsLookup::Type requestType; + void query(QDnsLookupReply *reply); QByteArray requestName; QHostAddress nameserver; + QDnsLookup::Type requestType; }; class QDnsLookupThreadPool : public QThreadPool diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp index 988334e5eb..d2435064ad 100644 --- a/src/network/kernel/qdnslookup_unix.cpp +++ b/src/network/kernel/qdnslookup_unix.cpp @@ -100,7 +100,7 @@ static const char *applyNameServer(res_state state, const QHostAddress &nameserv } #endif // !QT_CONFIG(res_setservers) -void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestName, const QHostAddress &nameserver, QDnsLookupReply *reply) +void QDnsLookupRunnable::query(QDnsLookupReply *reply) { // Initialize state. std::remove_pointer_t state = {}; diff --git a/src/network/kernel/qdnslookup_win.cpp b/src/network/kernel/qdnslookup_win.cpp index baab97dc58..15db101543 100644 --- a/src/network/kernel/qdnslookup_win.cpp +++ b/src/network/kernel/qdnslookup_win.cpp @@ -51,7 +51,7 @@ DNS_STATUS WINAPI DnsQueryEx(PDNS_QUERY_REQUEST pQueryRequest, QT_BEGIN_NAMESPACE -void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestName, const QHostAddress &nameserver, QDnsLookupReply *reply) +void QDnsLookupRunnable::query(QDnsLookupReply *reply) { // Perform DNS query. const QString requestNameUtf16 = QString::fromUtf8(requestName.data(), requestName.size()); -- cgit v1.2.1