From 061254ed1252eab63e8aca886b6229740cfd27c1 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Thu, 17 Dec 2020 13:53:45 +0100 Subject: QDnsLookup - port to the new property system Read/write/notify properties, 3 out of 5 defined in this class. Task-number: QTBUG-85520 Change-Id: Ic6c74f90a2fa3c71d71cf9a5d557f1b6fc489d35 Reviewed-by: Andreas Buhr Reviewed-by: Sona Kurazyan --- src/network/kernel/qdnslookup.cpp | 33 +++++++++++++++++++++------------ src/network/kernel/qdnslookup.h | 11 ++++++++--- src/network/kernel/qdnslookup_p.h | 26 +++++++++++++++++++++++--- 3 files changed, 52 insertions(+), 18 deletions(-) (limited to 'src/network') diff --git a/src/network/kernel/qdnslookup.cpp b/src/network/kernel/qdnslookup.cpp index f679f27b36..3f1618ddee 100644 --- a/src/network/kernel/qdnslookup.cpp +++ b/src/network/kernel/qdnslookup.cpp @@ -356,10 +356,13 @@ QString QDnsLookup::name() const void QDnsLookup::setName(const QString &name) { Q_D(QDnsLookup); - if (name != d->name) { - d->name = name; - emit nameChanged(name); - } + d->name = name; +} + +QBindable QDnsLookup::bindableName() +{ + Q_D(QDnsLookup); + return &d->name; } /*! @@ -375,10 +378,13 @@ QDnsLookup::Type QDnsLookup::type() const void QDnsLookup::setType(Type type) { Q_D(QDnsLookup); - if (type != d->type) { - d->type = type; - emit typeChanged(type); - } + d->type = type; +} + +QBindable QDnsLookup::bindableType() +{ + Q_D(QDnsLookup); + return &d->type; } /*! @@ -394,10 +400,13 @@ QHostAddress QDnsLookup::nameserver() const void QDnsLookup::setNameserver(const QHostAddress &nameserver) { Q_D(QDnsLookup); - if (nameserver != d->nameserver) { - d->nameserver = nameserver; - emit nameserverChanged(nameserver); - } + d->nameserver = nameserver; +} + +QBindable QDnsLookup::bindableNameserver() +{ + Q_D(QDnsLookup); + return &d->nameserver; } /*! diff --git a/src/network/kernel/qdnslookup.h b/src/network/kernel/qdnslookup.h index 110a74da44..89d617a92e 100644 --- a/src/network/kernel/qdnslookup.h +++ b/src/network/kernel/qdnslookup.h @@ -46,6 +46,7 @@ #include #include #include +#include QT_REQUIRE_CONFIG(dnslookup); @@ -178,9 +179,10 @@ class Q_NETWORK_EXPORT QDnsLookup : public QObject Q_OBJECT Q_PROPERTY(Error error READ error NOTIFY finished) Q_PROPERTY(QString errorString READ errorString NOTIFY finished) - Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) - Q_PROPERTY(Type type READ type WRITE setType NOTIFY typeChanged) - Q_PROPERTY(QHostAddress nameserver READ nameserver WRITE setNameserver NOTIFY nameserverChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged BINDABLE bindableName) + Q_PROPERTY(Type type READ type WRITE setType NOTIFY typeChanged BINDABLE bindableType) + Q_PROPERTY(QHostAddress nameserver READ nameserver WRITE setNameserver NOTIFY nameserverChanged + BINDABLE bindableNameserver) public: enum Error @@ -221,12 +223,15 @@ public: QString name() const; void setName(const QString &name); + QBindable bindableName(); Type type() const; void setType(QDnsLookup::Type); + QBindable bindableType(); QHostAddress nameserver() const; void setNameserver(const QHostAddress &nameserver); + QBindable bindableNameserver(); QList canonicalNameRecords() const; QList hostAddressRecords() const; diff --git a/src/network/kernel/qdnslookup_p.h b/src/network/kernel/qdnslookup_p.h index 8c3c2ed3e1..41901cffc8 100644 --- a/src/network/kernel/qdnslookup_p.h +++ b/src/network/kernel/qdnslookup_p.h @@ -103,9 +103,29 @@ public: static const char *msgNoIpV6NameServerAdresses; bool isFinished; - QString name; - QDnsLookup::Type type; - QHostAddress nameserver; + + void nameChanged() + { + emit q_func()->nameChanged(name); + } + Q_OBJECT_BINDABLE_PROPERTY(QDnsLookupPrivate, QString, name, + &QDnsLookupPrivate::nameChanged); + + void typeChanged() + { + emit q_func()->typeChanged(type); + } + + Q_OBJECT_BINDABLE_PROPERTY(QDnsLookupPrivate, QDnsLookup::Type, + type, &QDnsLookupPrivate::typeChanged); + + void nameserverChanged() + { + emit q_func()->nameserverChanged(nameserver); + } + Q_OBJECT_BINDABLE_PROPERTY(QDnsLookupPrivate, QHostAddress, nameserver, + &QDnsLookupPrivate::nameserverChanged); + QDnsLookupReply reply; QDnsLookupRunnable *runnable; -- cgit v1.2.3