aboutsummaryrefslogtreecommitdiff
path: root/trust_db.h
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-06-29 14:10:06 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-08-30 02:46:41 +0200
commit6ecc6b6f0272a47d41ce5d619eaa779a29fcf9df (patch)
treeb304ad33ecadcd1209347b67d525506356d149f0 /trust_db.h
parent48cfe26383feb2fcf6638905060c605af8eb2c69 (diff)
downloadxxcc-6ecc6b6f0272a47d41ce5d619eaa779a29fcf9df.tar.gz
WIP OMEMO
Diffstat (limited to 'trust_db.h')
-rw-r--r--trust_db.h70
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