diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2020-12-17 13:53:45 +0100 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2021-01-27 16:54:38 +0100 |
commit | 061254ed1252eab63e8aca886b6229740cfd27c1 (patch) | |
tree | b7285a4805378fd021f2bca46eea2292500d520f /src/network | |
parent | 9b239b7fac12f04a5368cf8bf32a5e011c37d504 (diff) |
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 <andreas.buhr@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/kernel/qdnslookup.cpp | 33 | ||||
-rw-r--r-- | src/network/kernel/qdnslookup.h | 11 | ||||
-rw-r--r-- | src/network/kernel/qdnslookup_p.h | 26 |
3 files changed, 52 insertions, 18 deletions
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<QString> 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::Type> 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<QHostAddress> 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 <QtCore/qshareddata.h> #include <QtCore/qsharedpointer.h> #include <QtCore/qstring.h> +#include <QtCore/qproperty.h> 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<QString> bindableName(); Type type() const; void setType(QDnsLookup::Type); + QBindable<Type> bindableType(); QHostAddress nameserver() const; void setNameserver(const QHostAddress &nameserver); + QBindable<QHostAddress> bindableNameserver(); QList<QDnsDomainNameRecord> canonicalNameRecords() const; QList<QDnsHostAddressRecord> 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; |