diff options
| author | Melvin Keskin <melvo@olomono.de> | 2022-03-25 20:01:34 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-04-07 19:33:45 +0200 |
| commit | adc51b73256e92cf59ac7645c4a6f8343f134288 (patch) | |
| tree | 9a8241cf8d35d85da1b07d08bbc19a73b3fec8d2 /src/base/QXmppOmemoDeviceBundle_p.h | |
| parent | 71f46efa773bbbc02e9c75dee8365499bdd887f0 (diff) | |
| download | qxmpp-adc51b73256e92cf59ac7645c4a6f8343f134288.tar.gz | |
Make OMEMO data classes private
Diffstat (limited to 'src/base/QXmppOmemoDeviceBundle_p.h')
| -rw-r--r-- | src/base/QXmppOmemoDeviceBundle_p.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/base/QXmppOmemoDeviceBundle_p.h b/src/base/QXmppOmemoDeviceBundle_p.h new file mode 100644 index 00000000..49506e86 --- /dev/null +++ b/src/base/QXmppOmemoDeviceBundle_p.h @@ -0,0 +1,52 @@ +// SPDX-FileCopyrightText: 2021 Germán Márquez Mejía <mancho@olomono.de> +// SPDX-FileCopyrightText: 2021 Melvin Keskin <melvo@olomono.de> +// +// SPDX-License-Identifier: LGPL-2.1-or-later + +#ifndef QXMPPOMEMODEVICEBUNDLE_H +#define QXMPPOMEMODEVICEBUNDLE_H + +#include "QXmppGlobal.h" + +#include <QHash> + +class QDomElement; +class QXmlStreamWriter; + +class QXMPP_AUTOTEST_EXPORT QXmppOmemoDeviceBundle +{ +public: + QByteArray publicIdentityKey() const; + void setPublicIdentityKey(const QByteArray &key); + + QByteArray signedPublicPreKey() const; + void setSignedPublicPreKey(const QByteArray &key); + + uint32_t signedPublicPreKeyId() const; + void setSignedPublicPreKeyId(uint32_t id); + + QByteArray signedPublicPreKeySignature() const; + void setSignedPublicPreKeySignature(const QByteArray &signature); + + QHash<uint32_t, QByteArray> publicPreKeys() const; + void addPublicPreKey(uint32_t id, const QByteArray &key); + void removePublicPreKey(uint32_t id); + + /// \cond + void parse(const QDomElement &element); + void toXml(QXmlStreamWriter *writer) const; + /// \endcond + + static bool isOmemoDeviceBundle(const QDomElement &element); + +private: + QByteArray m_publicIdentityKey; + QByteArray m_signedPublicPreKey; + uint32_t m_signedPublicPreKeyId = 0; + QByteArray m_signedPublicPreKeySignature; + QHash<uint32_t, QByteArray> m_publicPreKeys; +}; + +Q_DECLARE_TYPEINFO(QXmppOmemoDeviceBundle, Q_MOVABLE_TYPE); + +#endif // QXMPPOMEMODEVICEBUNDLE_H |
