QXmppAtmTrustStorage Class

The QXmppAtmTrustStorage class stores trust data for XEP-0450: Automatic Trust Management (ATM). More...

Header: #include <QXmppAtmTrustStorage>
Since: QXmpp 1.5
Inherits: QXmppTrustStorage
Inherited By:

QXmppAtmTrustMemoryStorage

Public Functions

virtual QXmppTask<void> addKeysForPostponedTrustDecisions(const QString &encryption, const QByteArray &senderKeyId, const QList<QXmppTrustMessageKeyOwner> &keyOwners) = 0
virtual QXmppTask<QHash<bool, QMultiHash<QString, QByteArray>>> keysForPostponedTrustDecisions(const QString &encryption, const QList<QByteArray> &senderKeyIds = {}) = 0
virtual QXmppTask<void> removeKeysForPostponedTrustDecisions(const QString &encryption) = 0
virtual QXmppTask<void> removeKeysForPostponedTrustDecisions(const QString &encryption, const QList<QByteArray> &senderKeyIds) = 0
virtual QXmppTask<void> removeKeysForPostponedTrustDecisions(const QString &encryption, const QList<QByteArray> &keyIdsForAuthentication, const QList<QByteArray> &keyIdsForDistrusting) = 0

Detailed Description

Member Function Documentation

[pure virtual] QXmppTask<void> QXmppAtmTrustStorage::addKeysForPostponedTrustDecisions(const QString &encryption, const QByteArray &senderKeyId, const QList<QXmppTrustMessageKeyOwner> &keyOwners)

Adds keys that cannot be authenticated or distrusted directly because the key of the trust message's sender is not yet authenticated.

Those keys are being authenticated or distrusted once the sender's key is authenticated. Each element of keyOwners (i.e., keyOwner) can contain keys for postponed authentication as trustedKeys or for postponed distrusting as distrustedKeys.

If keys of keyOwner.trustedKeys() are already stored for postponed distrusting, they are changed to be used for postponed authentication. If keys of keyOwner.distrustedKeys() are already stored for postponed authentication, they are changed to be used for postponed distrusting. If the same keys are in keyOwner.trustedKeys() and keyOwner.distrustedKeys(), they are used for postponed distrusting.

encryption is the encryption protocol namespace. senderKeyId is the key ID of the trust message's sender. keyOwners contains key owners with key IDs for postponed trust decisions.

[pure virtual] QXmppTask<QHash<bool, QMultiHash<QString, QByteArray>>> QXmppAtmTrustStorage::keysForPostponedTrustDecisions(const QString &encryption, const QList<QByteArray> &senderKeyIds = {})

Returns the JIDs of key owners mapped to the IDs of their keys stored for postponed authentication (true) or postponed distrusting (false).

If senderKeyIds is empty, all keys for the encryption protocol namespace encryption are returned. senderKeyIds contains the key IDs of the trust messages' senders.

Returns the key owner JIDs mapped to their keys.

[pure virtual] QXmppTask<void> QXmppAtmTrustStorage::removeKeysForPostponedTrustDecisions(const QString &encryption)

Removes all keys for postponed authentication or distrusting for the encryption protocol namespace encryption.

[pure virtual] QXmppTask<void> QXmppAtmTrustStorage::removeKeysForPostponedTrustDecisions(const QString &encryption, const QList<QByteArray> &senderKeyIds)

Removes keys for postponed authentication or distrusting by the trust message sender's key ID.

encryption is the encryption protocol namespace. senderKeyIds contains the key IDs of the trust messages' senders.

[pure virtual] QXmppTask<void> QXmppAtmTrustStorage::removeKeysForPostponedTrustDecisions(const QString &encryption, const QList<QByteArray> &keyIdsForAuthentication, const QList<QByteArray> &keyIdsForDistrusting)

Removes keys for postponed authentication or distrusting.

encryption is the encryption protocol namespace. keyIdsForAuthentication contains the IDs of the keys for postponed authentication. keyIdsForDistrusting contains the IDs of the keys for postponed distrusting.