diff options
Diffstat (limited to 'trust_db.h')
| -rw-r--r-- | trust_db.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/trust_db.h b/trust_db.h new file mode 100644 index 0000000..d5d070a --- /dev/null +++ b/trust_db.h @@ -0,0 +1,70 @@ +#ifndef TRUST_DB_H +#define TRUST_DB_H + +#include <QXmppClient.h> +#include <QXmppTask.h> +#include <QXmppTrustLevel.h> +#include <QXmppTrustStorage.h> +#include <QByteArray> +#include <QHash> +#include <QList> +#include <QMultiHash> +#include <QString> + +class TrustDb : virtual public QXmppTrustStorage +{ +public: + TrustDb(const QString &jid); + + QXmppTask<void> setSecurityPolicy(const QString &encryption, + QXmpp::TrustSecurityPolicy securityPolicy) override; + QXmppTask<void> resetSecurityPolicy(const QString &encryption) override; + QXmppTask<QXmpp::TrustSecurityPolicy> securityPolicy( + const QString &encryption) override; + + QXmppTask<void> setOwnKey(const QString &encryption, + const QByteArray &keyId) override; + QXmppTask<void> resetOwnKey(const QString &encryption) override; + QXmppTask<QByteArray> ownKey(const QString &encryption) override; + + QXmppTask<void> addKeys(const QString &encryption, + const QString &keyOwnerJid, const QList<QByteArray> &keyIds, + QXmpp::TrustLevel trustLevel + = QXmpp::TrustLevel::AutomaticallyDistrusted) override; + QXmppTask<void> removeKeys(const QString &encryption, + const QList<QByteArray> &keyIds) override; + QXmppTask<void> removeKeys(const QString &encryption, + const QString &keyOwnerJid) override; + QXmppTask<void> removeKeys(const QString &encryption) override; + QXmppTask<QHash<QXmpp::TrustLevel, + QMultiHash<QString, QByteArray>>> keys(const QString &encryption, + QXmpp::TrustLevels trustLevels = {}) override; + QXmppTask<QHash<QString, + QHash<QByteArray, QXmpp::TrustLevel>>> keys(const QString &encryption, + const QList<QString> &keyOwnerJids, + QXmpp::TrustLevels trustLevels = {}) override; + QXmppTask<bool> hasKey(const QString &encryption, + const QString &keyOwnerJid, QXmpp::TrustLevels trustLevels) override; + + QXmppTask<QHash<QString, + QMultiHash<QString, QByteArray>>> setTrustLevel( + const QString &encryption, + const QMultiHash<QString, QByteArray> &keyIds, + QXmpp::TrustLevel trustLevel) override; + QXmppTask<QHash<QString, + QMultiHash<QString, QByteArray>>> setTrustLevel( + const QString &encryption, + const QList<QString> &keyOwnerJids, + QXmpp::TrustLevel oldTrustLevel, + QXmpp::TrustLevel newTrustLevel) override; + QXmppTask<QXmpp::TrustLevel> trustLevel(const QString &encryption, + const QString &keyOwnerJid, const QByteArray &keyId) override; + + QXmppTask<void> resetAll(const QString &encryption) override; + +private: + const QString &jid; + QString service() const; +}; + +#endif |
