diff options
Diffstat (limited to 'src/network/access/qhstspolicy.h')
-rw-r--r-- | src/network/access/qhstspolicy.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/network/access/qhstspolicy.h b/src/network/access/qhstspolicy.h index 4260ac278c..45fa40dfe8 100644 --- a/src/network/access/qhstspolicy.h +++ b/src/network/access/qhstspolicy.h @@ -42,7 +42,7 @@ #include <QtNetwork/qtnetworkglobal.h> -#include <QtCore/qscopedpointer.h> +#include <QtCore/qshareddata.h> #include <QtCore/qurl.h> QT_BEGIN_NAMESPACE @@ -55,13 +55,15 @@ class Q_NETWORK_EXPORT QHstsPolicy public: QHstsPolicy(); - QHstsPolicy(const QDateTime &expiry, bool includeSubDomains, const QString &host, - QUrl::ParsingMode mode = QUrl::DecodedMode); + explicit QHstsPolicy(const QDateTime &expiry, bool includeSubDomains, const QString &host, + QUrl::ParsingMode mode = QUrl::DecodedMode); QHstsPolicy(const QHstsPolicy &rhs); QHstsPolicy &operator=(const QHstsPolicy &rhs); - QHstsPolicy &operator=(QHstsPolicy &&rhs) Q_DECL_NOTHROW; + QHstsPolicy &operator=(QHstsPolicy &&other) Q_DECL_NOTHROW { swap(other); return *this; } ~QHstsPolicy(); + void swap(QHstsPolicy &other) Q_DECL_NOTHROW { qSwap(d, other.d); } + void setHost(const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode); QString host(QUrl::ComponentFormattingOptions options = QUrl::FullyDecoded) const; void setExpiry(const QDateTime &expiry); @@ -69,14 +71,25 @@ public: void setIncludesSubDomains(bool include); bool includesSubDomains() const; - bool operator==(const QHstsPolicy &rhs) const; bool isExpired() const; private: - QScopedPointer<QHstsPolicyPrivate> d; + QSharedDataPointer<QHstsPolicyPrivate> d; + + friend Q_NETWORK_EXPORT bool operator==(const QHstsPolicy &lhs, const QHstsPolicy &rhs); }; +Q_DECLARE_SHARED(QHstsPolicy) + +Q_NETWORK_EXPORT bool operator==(const QHstsPolicy &lhs, const QHstsPolicy &rhs); + +inline bool operator!=(const QHstsPolicy &lhs, const QHstsPolicy &rhs) +{ + return !(lhs == rhs); +} + + QT_END_NAMESPACE #endif // QHSTSPOLICY_H |