summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2020-12-17 13:53:45 +0100
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2021-01-27 16:54:38 +0100
commit061254ed1252eab63e8aca886b6229740cfd27c1 (patch)
treeb7285a4805378fd021f2bca46eea2292500d520f /src/network
parent9b239b7fac12f04a5368cf8bf32a5e011c37d504 (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.cpp33
-rw-r--r--src/network/kernel/qdnslookup.h11
-rw-r--r--src/network/kernel/qdnslookup_p.h26
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;