QXmpp  Version: 1.10.4
QXmppE2eeMetadata.h
1 // SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im>
2 //
3 // SPDX-License-Identifier: LGPL-2.1-or-later
4 
5 #ifndef QXMPPE2EEMETADATA_H
6 #define QXMPPE2EEMETADATA_H
7 
8 #include "QXmppGlobal.h"
9 
10 #include <QSharedDataPointer>
11 
12 class QDateTime;
13 class QXmppE2eeMetadataPrivate;
14 
15 class QXMPP_EXPORT QXmppE2eeMetadata
16 {
17 public:
20  QXmppE2eeMetadata(QSharedDataPointer<QXmppE2eeMetadataPrivate> d);
25 
26  QXmppE2eeMetadata &operator=(const QXmppE2eeMetadata &other);
27  QXmppE2eeMetadata &operator=(QXmppE2eeMetadata &&);
28 
29  QXmpp::EncryptionMethod encryption() const;
30  void setEncryption(QXmpp::EncryptionMethod encryption);
31 
32  QByteArray senderKey() const;
33  void setSenderKey(const QByteArray &keyId);
34 
35  // XEP-0420: Stanza Content Encryption
36  QDateTime sceTimestamp() const;
37  void setSceTimestamp(const QDateTime &timestamp);
38 
39 private:
40  friend class QXmppStanza;
41 
42  QSharedDataPointer<QXmppE2eeMetadataPrivate> d;
43 };
44 
45 #endif // QXMPPE2EEMETADATA_H
The QXmppStanza class is the base class for all XMPP stanzas.
Definition: QXmppStanza.h:87
EncryptionMethod
Definition: QXmppGlobal.h:89
The QXmppE2eeMetadata class contains data used for end-to-end encryption purposes.
Definition: QXmppE2eeMetadata.h:15