/* * Copyright (C) 2008-2021 The QXmpp developers * * Author: * Melvin Keskin * * Source: * https://github.com/qxmpp-project/qxmpp * * This file is a part of QXmpp library. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * */ #ifndef QXMPPTRUSTMEMORYSTORAGE_H #define QXMPPTRUSTMEMORYSTORAGE_H #include "QXmppGlobal.h" #include "QXmppTrustStorage.h" #include class QXmppTrustMemoryStoragePrivate; class QXMPP_EXPORT QXmppTrustMemoryStorage : public QXmppTrustStorage { public: QXmppTrustMemoryStorage(); ~QXmppTrustMemoryStorage(); /// \cond QFuture addOwnKey(const QString &encryption, const QString &keyId) override; QFuture removeOwnKey(const QString &encryption) override; QFuture ownKey(const QString &encryption) const override; QFuture addKeys(const QString &encryption, const QString &keyOwnerJid, const QList &keyIds, TrustLevel trustLevel = TrustLevel::AutomaticallyDistrusted) override; QFuture removeKeys(const QString &encryption = {}, const QList &keyIds = {}) override; QFuture>> keys(const QString &encryption, TrustLevels trustLevels = {}) const override; QFuture setTrustLevel(const QString &encryption, const QMultiHash &keyIds, const TrustLevel trustLevel) override; QFuture setTrustLevel(const QString &encryption, const QList &keyOwnerJids, const TrustLevel oldTrustLevel, const TrustLevel newTrustLevel) override; QFuture trustLevel(const QString &encryption, const QString &keyId) const override; QFuture addKeysForPostponedTrustDecisions(const QString &encryption, const QString &senderKeyId, const QList &keyOwners) override; QFuture removeKeysForPostponedTrustDecisions(const QString &encryption, const QList &keyIdsForAuthentication, const QList &keyIdsForDistrusting) override; QFuture removeKeysForPostponedTrustDecisions(const QString &encryption = {}, const QList &senderKeyIds = {}) override; QFuture>> keysForPostponedTrustDecisions(const QString &encryption, const QList &senderKeyIds = {}) override; /// \endcond private: std::unique_ptr d; }; #endif // QXMPPTRUSTMEMORYSTORAGE_H