diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-04-06 13:02:29 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-04-06 15:02:47 +0200 |
| commit | a8fd01e50a3088df8bc6b367d1c14fe1da93be91 (patch) | |
| tree | 415b66cdd850fdb0491e0d2e5fd698ae61f1c1d8 /src/base/QXmppGlobal.cpp | |
| parent | a3e110d6a219f2dc3bfd6d8fc238f5d022f30aea (diff) | |
| download | qxmpp-a8fd01e50a3088df8bc6b367d1c14fe1da93be91.tar.gz | |
Message: Move encryption namespace parsing into Global private
Diffstat (limited to 'src/base/QXmppGlobal.cpp')
| -rw-r--r-- | src/base/QXmppGlobal.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/base/QXmppGlobal.cpp b/src/base/QXmppGlobal.cpp new file mode 100644 index 00000000..1d0d9afb --- /dev/null +++ b/src/base/QXmppGlobal.cpp @@ -0,0 +1,49 @@ +// SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im> +// +// SPDX-License-Identifier: LGPL-2.1-or-later + +#include "QXmppConstants_p.h" +#include "QXmppGlobal_p.h" + +#include <QList> + +static const QStringList ENCRYPTION_NAMESPACES = { + QString(), + QString(), + ns_otr, + ns_legacy_openpgp, + ns_ox, + ns_omemo, + ns_omemo_1, + ns_omemo_2 +}; + +static const QStringList ENCRYPTION_NAMES = { + QString(), + QString(), + QStringLiteral("OTR"), + QStringLiteral("Legacy OpenPGP"), + QStringLiteral("OpenPGP for XMPP (OX)"), + QStringLiteral("OMEMO"), + QStringLiteral("OMEMO 1"), + QStringLiteral("OMEMO 2") +}; + +std::optional<QXmpp::Encryption> QXmpp::Private::encryptionFromString(const QString &str) +{ + int index = ENCRYPTION_NAMESPACES.indexOf(str); + if (index < 0) { + return {}; + } + return QXmpp::Encryption(index); +} + +QString QXmpp::Private::encryptionToString(Encryption encryption) +{ + return ENCRYPTION_NAMESPACES.at(int(encryption)); +} + +QString QXmpp::Private::encryptionToName(Encryption encryption) +{ + return ENCRYPTION_NAMES.at(int(encryption)); +} |
