31 Q_NETWORK_EXPORT QSslKeyingMaterial();
32 Q_NETWORK_EXPORT
explicit QSslKeyingMaterial(
const QByteArray &label, qsizetype size);
33 Q_NETWORK_EXPORT
explicit QSslKeyingMaterial(
const QByteArray &label, qsizetype size,
34 const QByteArray &context);
35 Q_NETWORK_EXPORT QSslKeyingMaterial(
const QSslKeyingMaterial &other);
36 Q_NETWORK_EXPORT QSslKeyingMaterial &operator=(
const QSslKeyingMaterial &other);
37 QSslKeyingMaterial(QSslKeyingMaterial &&other)
noexcept
38 : m_label(std::move(other.m_label)),
39 m_context(std::move(other.m_context)),
40 m_value(std::move(other.m_value)),
41 m_requestedSize(other.m_requestedSize),
42 m_reserved{std::exchange(other.m_reserved,
nullptr)}
44 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QSslKeyingMaterial)
45 Q_NETWORK_EXPORT ~QSslKeyingMaterial();
47 Q_NETWORK_EXPORT
bool isValid()
const noexcept;
49 QByteArray label()
const
54 QByteArray context()
const
59 QByteArray value()
const
64 qsizetype requestedSize()
const noexcept
66 return m_requestedSize;
69 [[nodiscard]] Q_NETWORK_EXPORT QSslKeyingMaterial clone()
const;
71 void swap(QSslKeyingMaterial &other)
noexcept
73 m_label.swap(other.m_label);
74 m_context.swap(other.m_context);
75 m_value.swap(other.m_value);
76 std::swap(m_requestedSize, other.m_requestedSize);
77 qt_ptr_swap(m_reserved, other.m_reserved);
84 qsizetype m_requestedSize = 0;
85 Q_DECL_UNUSED_MEMBER
void *m_reserved =
nullptr;
87 friend Q_NETWORK_EXPORT
bool comparesEqual(
const QSslKeyingMaterial &lhs,
88 const QSslKeyingMaterial &rhs)
noexcept;
89 Q_DECLARE_EQUALITY_COMPARABLE(QSslKeyingMaterial)
91 friend size_t qHash(
const QSslKeyingMaterial &material)
noexcept
92 {
return qHash(material, 0); }
93 friend Q_NETWORK_EXPORT size_t qHash(
const QSslKeyingMaterial &material, size_t seed)
noexcept;
95#ifndef QT_NO_DEBUG_STREAM
96 friend Q_NETWORK_EXPORT QDebug operator<<(QDebug debug,
const QSslKeyingMaterial &keying);
99 friend class QTlsPrivate::TlsCryptographOpenSSL;
100 friend class ::tst_QSslKeyingMaterial;