From f0e0e1cd227c08ffd97aa42813a479b8c3ca6d23 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Tue, 31 May 2022 12:22:48 +0200 Subject: Split up OMEMO into extra module --- src/client/QXmppOmemoMemoryStorage.cpp | 119 --------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 src/client/QXmppOmemoMemoryStorage.cpp (limited to 'src/client/QXmppOmemoMemoryStorage.cpp') diff --git a/src/client/QXmppOmemoMemoryStorage.cpp b/src/client/QXmppOmemoMemoryStorage.cpp deleted file mode 100644 index 6ff81002..00000000 --- a/src/client/QXmppOmemoMemoryStorage.cpp +++ /dev/null @@ -1,119 +0,0 @@ -// SPDX-FileCopyrightText: 2022 Melvin Keskin -// -// SPDX-License-Identifier: LGPL-2.1-or-later - -#include "QXmppOmemoMemoryStorage.h" - -#include "QXmppFutureUtils_p.h" - -using namespace QXmpp::Private; - -/// -/// \class QXmppOmemoMemoryStorage -/// -/// \brief The QXmppOmemoMemoryStorage class stores data used by -/// \xep{0384, OMEMO Encryption} in the memory. -/// -/// \warning THIS API IS NOT FINALIZED YET! -/// -/// \since QXmpp 1.5 -/// - -class QXmppOmemoMemoryStoragePrivate -{ -public: - bool isSetUp = false; - - std::optional ownDevice; - - // IDs of pre key pairs mapped to pre key pairs - QHash preKeyPairs; - - // IDs of signed pre key pairs mapped to signed pre key pairs - QHash signedPreKeyPairs; - - // recipient JID mapped to device ID mapped to device - QHash> devices; -}; - -/// -/// Constructs an OMEMO memory storage. -/// -QXmppOmemoMemoryStorage::QXmppOmemoMemoryStorage() - : d(new QXmppOmemoMemoryStoragePrivate) -{ -} - -QXmppOmemoMemoryStorage::~QXmppOmemoMemoryStorage() = default; - -/// \cond -QFuture QXmppOmemoMemoryStorage::allData() -{ - return makeReadyFuture(std::move(OmemoData { d->ownDevice, - d->signedPreKeyPairs, - d->preKeyPairs, - d->devices })); -} - -QFuture QXmppOmemoMemoryStorage::setOwnDevice(const std::optional &device) -{ - d->ownDevice = device; - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::addSignedPreKeyPair(const uint32_t keyId, const SignedPreKeyPair &keyPair) -{ - d->signedPreKeyPairs.insert(keyId, keyPair); - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::removeSignedPreKeyPair(const uint32_t keyId) -{ - d->signedPreKeyPairs.remove(keyId); - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::addPreKeyPairs(const QHash &keyPairs) -{ - d->preKeyPairs.insert(keyPairs); - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::removePreKeyPair(const uint32_t keyId) -{ - d->preKeyPairs.remove(keyId); - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::addDevice(const QString &jid, const uint32_t deviceId, const QXmppOmemoStorage::Device &device) -{ - d->devices[jid].insert(deviceId, device); - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::removeDevice(const QString &jid, const uint32_t deviceId) -{ - auto &devices = d->devices[jid]; - devices.remove(deviceId); - - // Remove the container for the passed JID if the container stores no - // devices anymore. - if (devices.isEmpty()) { - d->devices.remove(jid); - } - - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::removeDevices(const QString &jid) -{ - d->devices.remove(jid); - return makeReadyFuture(); -} - -QFuture QXmppOmemoMemoryStorage::resetAll() -{ - d.reset(new QXmppOmemoMemoryStoragePrivate()); - return makeReadyFuture(); -} -/// \endcond -- cgit v1.2.3