summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/qhostaddress.h
diff options
context:
space:
mode:
authorFelix Braun <hazzl@falix.de>2016-04-11 22:16:09 +0200
committerFelix Braun <hazzl@falix.de>2016-04-29 16:25:08 +0000
commitcedc554321f896d6dc09f0c7c35a6278f2b35339 (patch)
tree4191af07f02d3f860c27ac0fc9b7b2c59a3a8bb7 /src/network/kernel/qhostaddress.h
parentc0979fe9d637f49a9d81fa9a2278a6b812eecfed (diff)
QHostAddress: comparator with flexible conversion rules
Add a named comparison method that allows the caller to specify in how far a translation between IPv4 and IPv6 should be performed before comparing. Change-Id: I9aeffcd4539a6c0537c083c4553357b22167df3f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network/kernel/qhostaddress.h')
-rw-r--r--src/network/kernel/qhostaddress.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/network/kernel/qhostaddress.h b/src/network/kernel/qhostaddress.h
index 8236a71986..8cf6876511 100644
--- a/src/network/kernel/qhostaddress.h
+++ b/src/network/kernel/qhostaddress.h
@@ -79,6 +79,16 @@ public:
AnyIPv6,
AnyIPv4
};
+ enum ConversionModeFlag {
+ ConvertV4MappedToIPv4 = 1,
+ ConvertV4CompatToIPv4 = 2,
+ ConvertUnspecifiedAddress = 4,
+ ConvertLocalHost = 8,
+ TolerantConversion = 0xff,
+
+ StrictConversion = 0
+ };
+ Q_DECLARE_FLAGS(ConversionMode, ConversionModeFlag)
QHostAddress();
explicit QHostAddress(quint32 ip4Addr);
@@ -118,6 +128,7 @@ public:
QString scopeId() const;
void setScopeId(const QString &id);
+ bool isEqual(const QHostAddress &address, ConversionMode mode = TolerantConversion) const;
bool operator ==(const QHostAddress &address) const;
bool operator ==(SpecialAddress address) const;
inline bool operator !=(const QHostAddress &address) const
@@ -139,6 +150,7 @@ public:
protected:
QScopedPointer<QHostAddressPrivate> d;
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QHostAddress::ConversionMode)
Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QHostAddress)
inline bool operator ==(QHostAddress::SpecialAddress address1, const QHostAddress &address2)