diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2023-06-29 14:10:06 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2023-08-30 02:46:41 +0200 |
| commit | 6ecc6b6f0272a47d41ce5d619eaa779a29fcf9df (patch) | |
| tree | b304ad33ecadcd1209347b67d525506356d149f0 /trust_db.h | |
| parent | 48cfe26383feb2fcf6638905060c605af8eb2c69 (diff) | |
| download | xxcc-6ecc6b6f0272a47d41ce5d619eaa779a29fcf9df.tar.gz | |
WIP OMEMO
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 |
