aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppE2eeMetadata.h
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-07-11 00:57:37 +0200
committerLinus Jahn <lnj@kaidan.im>2022-07-11 01:54:36 +0200
commit35ea54219281bf256b9c990e52025e43c92f3d02 (patch)
tree65fe525e69a4f323645628341402da91993fea33 /src/base/QXmppE2eeMetadata.h
parentf5e82b8b460ea9e9c25bef7b0f9a9d3bd7e43523 (diff)
downloadqxmpp-35ea54219281bf256b9c990e52025e43c92f3d02.tar.gz
Stanza: Move E2eeMetadata into own header file
Diffstat (limited to 'src/base/QXmppE2eeMetadata.h')
-rw-r--r--src/base/QXmppE2eeMetadata.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/base/QXmppE2eeMetadata.h b/src/base/QXmppE2eeMetadata.h
new file mode 100644
index 00000000..e435ef13
--- /dev/null
+++ b/src/base/QXmppE2eeMetadata.h
@@ -0,0 +1,45 @@
+// SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im>
+//
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+#ifndef QXMPPE2EEMETADATA_H
+#define QXMPPE2EEMETADATA_H
+
+#include "QXmppGlobal.h"
+
+#include <QSharedDataPointer>
+
+class QDateTime;
+class QXmppE2eeMetadataPrivate;
+
+class QXMPP_EXPORT QXmppE2eeMetadata
+{
+public:
+ QXmppE2eeMetadata();
+ /// \cond
+ QXmppE2eeMetadata(QSharedDataPointer<QXmppE2eeMetadataPrivate> d);
+ /// \endcond
+ QXmppE2eeMetadata(const QXmppE2eeMetadata &other);
+ QXmppE2eeMetadata(QXmppE2eeMetadata &&);
+ ~QXmppE2eeMetadata();
+
+ QXmppE2eeMetadata &operator=(const QXmppE2eeMetadata &other);
+ QXmppE2eeMetadata &operator=(QXmppE2eeMetadata &&);
+
+ QXmpp::Encryption encryption() const;
+ void setEncryption(QXmpp::Encryption encryption);
+
+ QByteArray senderKey() const;
+ void setSenderKey(const QByteArray &keyId);
+
+ // XEP-0420: Stanza Content Encryption
+ QDateTime sceTimestamp() const;
+ void setSceTimestamp(const QDateTime &timestamp);
+
+private:
+ friend class QXmppStanza;
+
+ QSharedDataPointer<QXmppE2eeMetadataPrivate> d;
+};
+
+#endif // QXMPPE2EEMETADATA_H