summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2023-05-08 21:48:03 -0700
committerThiago Macieira <thiago.macieira@intel.com>2023-05-16 11:46:42 -0700
commite1c3083dadcb8ba69dc3a379a03ae37bbbd1c319 (patch)
tree6e1957ec262c06bf7e561692e477e36d630deeeb
parent365af87f94f3970fd4fca248e87f7a57d27ffa7d (diff)
downloadqtbase-e1c3083dadcb8ba69dc3a379a03ae37bbbd1c319.tar.gz
QDnsLookup: make the query() function non-static
Simplifies arguments and will allow me to add stateful helper methods. Change-Id: I3e3bfef633af4130a03afffd175d6044829a96f2 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
-rw-r--r--src/network/kernel/qdnslookup.cpp11
-rw-r--r--src/network/kernel/qdnslookup_dummy.cpp8
-rw-r--r--src/network/kernel/qdnslookup_p.h10
-rw-r--r--src/network/kernel/qdnslookup_unix.cpp2
-rw-r--r--src/network/kernel/qdnslookup_win.cpp2
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<res_state> 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());