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 /omemo_db.h | |
| parent | 48cfe26383feb2fcf6638905060c605af8eb2c69 (diff) | |
| download | xxcc-6ecc6b6f0272a47d41ce5d619eaa779a29fcf9df.tar.gz | |
WIP OMEMO
Diffstat (limited to 'omemo_db.h')
| -rw-r--r-- | omemo_db.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/omemo_db.h b/omemo_db.h new file mode 100644 index 0000000..d331d8f --- /dev/null +++ b/omemo_db.h @@ -0,0 +1,54 @@ +#ifndef OMEMO_DB_H +#define OMEMO_DB_H + +#include <QXmppOmemoStorage.h> +#include <QXmppTask.h> +#include <QDateTime> +#include <QByteArray> +#include <QString> +#include <cstdint> + +class OmemoDb : public QXmppOmemoStorage +{ +public: + OmemoDb(const QString &jid); + QXmppTask<OmemoData> allData() override; + QXmppTask<void> setOwnDevice( + const std::optional<OwnDevice> &device) override; + QXmppTask<void> addSignedPreKeyPair(uint32_t keyId, + const SignedPreKeyPair &keyPair) override; + QXmppTask<void> removeSignedPreKeyPair(uint32_t keyId) override; + QXmppTask<void> addPreKeyPairs( + const QHash<uint32_t, QByteArray> &keyPairs) override; + QXmppTask<void> removePreKeyPair(uint32_t keyId) override; + QXmppTask<void> addDevice(const QString &jid, + uint32_t deviceId, const Device &device) override; + QXmppTask<void> removeDevice(const QString &jid, + uint32_t deviceId) override; + QXmppTask<void> removeDevices(const QString &jid) override; + QXmppTask<void> resetAll() override; + +private: + const QString &jid; + QString service() const; + static int storeOwnKeyId(const QString &service, uint32_t id); + static int storePrivateIdentityKey(const QString &service, + const QByteArray &privateIdentityKey); + static int storePublicIdentityKey(const QString &service, + const QByteArray &publicIdentityKey); + static int storeLatestSignedPreKeyId(const QString &service, + uint32_t latestSignedPreKeyId); + static int storeLatestPreKeyId(const QString &service, + uint32_t latestPreKeyId); + static int storeDeviceLabel(const QString &service, const QString &label); + static int storeKeyId(const QString &service, const QByteArray &keyId); + static int storeSession(const QString &service, const QByteArray &session); + static int storeUnrespondedSentStanzasCount(const QString &service, + int count); + static int storeUnrespondedReceivedStanzasCount(const QString &service, + int count); + static int storeRemovalFromDeviceListDate(const QString &service, + const QDateTime &dt); +}; + +#endif |
