diff options
author | Tobias Fella <fella@posteo.de> | 2021-12-07 19:08:29 +0100 |
---|---|---|
committer | Tobias Fella <fella@posteo.de> | 2021-12-07 19:08:29 +0100 |
commit | 2c6fa33ca52842e9dfba0dd3893a9d5526e10e60 (patch) | |
tree | 96ffece23a6f671d71328159357db3c68767365a /lib/e2ee/qolmmessage.h | |
parent | 47bd4dfb2bc720d2b5919b93985f87d918af572a (diff) | |
download | libquotient-2c6fa33ca52842e9dfba0dd3893a9d5526e10e60.tar.gz libquotient-2c6fa33ca52842e9dfba0dd3893a9d5526e10e60.zip |
Rename "crypto" -> "e2ee"
Diffstat (limited to 'lib/e2ee/qolmmessage.h')
-rw-r--r-- | lib/e2ee/qolmmessage.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/e2ee/qolmmessage.h b/lib/e2ee/qolmmessage.h new file mode 100644 index 00000000..52aba78c --- /dev/null +++ b/lib/e2ee/qolmmessage.h @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru> +// +// SPDX-License-Identifier: LGPL-2.1-or-later + +#pragma once + +#include <QObject> +#include <QByteArray> + +namespace Quotient { + +/*! \brief A wrapper around an olm encrypted message + * + * This class encapsulates a Matrix olm encrypted message, + * passed in either of 2 forms: a general message or a pre-key message. + * + * The class provides functions to get a type and the ciphertext. + */ +class QOlmMessage : public QByteArray { + Q_GADGET +public: + enum Type { + General, + PreKey, + }; + Q_ENUM(Type) + + QOlmMessage() = default; + explicit QOlmMessage(const QByteArray &ciphertext, Type type = General); + explicit QOlmMessage(const QOlmMessage &message); + + static QOlmMessage fromCiphertext(const QByteArray &ciphertext); + + Q_INVOKABLE Type type() const; + Q_INVOKABLE QByteArray toCiphertext() const; + +private: + Type m_messageType = General; +}; + +} //namespace Quotient |