|
QXmpp Version: 1.15.1
|
The QXmppAtmManager class represents a manager for XEP-0450: Automatic Trust Management (ATM). More...


Public Member Functions | |
| QXmppAtmManager (QXmppAtmTrustStorage *trustStorage) | |
| QXmppTask< void > | makeTrustDecisions (QString encryption, QString keyOwnerJid, QList< QByteArray > keyIdsForAuthentication, QList< QByteArray > keyIdsForDistrusting={}) |
Public Member Functions inherited from QXmppTrustManager | |
| QXmppTrustManager (QXmppTrustStorage *trustStorage) | |
| QXmppTask< void > | setSecurityPolicy (const QString &encryption, QXmpp::TrustSecurityPolicy securityPolicy) |
| QXmppTask< void > | resetSecurityPolicy (const QString &encryption) |
| QXmppTask< QXmpp::TrustSecurityPolicy > | securityPolicy (const QString &encryption) |
| QXmppTask< void > | setOwnKey (const QString &encryption, const QByteArray &keyId) |
| QXmppTask< void > | resetOwnKey (const QString &encryption) |
| QXmppTask< QByteArray > | ownKey (const QString &encryption) |
| QXmppTask< void > | addKeys (const QString &encryption, const QString &keyOwnerJid, const QList< QByteArray > &keyIds, QXmpp::TrustLevel trustLevel=QXmpp::TrustLevel::AutomaticallyDistrusted) |
| QXmppTask< void > | removeKeys (const QString &encryption, const QList< QByteArray > &keyIds) |
| QXmppTask< void > | removeKeys (const QString &encryption, const QString &keyOwnerJid) |
| QXmppTask< void > | removeKeys (const QString &encryption) |
| QXmppTask< QHash< QXmpp::TrustLevel, QMultiHash< QString, QByteArray > > > | keys (const QString &encryption, QXmpp::TrustLevels trustLevels={}) |
| QXmppTask< QHash< QString, QHash< QByteArray, QXmpp::TrustLevel > > > | keys (const QString &encryption, const QList< QString > &keyOwnerJids, QXmpp::TrustLevels trustLevels={}) |
| QXmppTask< bool > | hasKey (const QString &encryption, const QString &keyOwnerJid, QXmpp::TrustLevels trustLevels) |
| QXmppTask< void > | setTrustLevel (const QString &encryption, const QMultiHash< QString, QByteArray > &keyIds, QXmpp::TrustLevel trustLevel) |
| QXmppTask< void > | setTrustLevel (const QString &encryption, const QList< QString > &keyOwnerJids, QXmpp::TrustLevel oldTrustLevel, QXmpp::TrustLevel newTrustLevel) |
| QXmppTask< QXmpp::TrustLevel > | trustLevel (const QString &encryption, const QString &keyOwnerJid, const QByteArray &keyId) |
| QXmppTask< void > | resetAll (const QString &encryption) |
| Q_SIGNAL void | trustLevelsChanged (const QHash< QString, QMultiHash< QString, QByteArray > > &modifiedKeys) |
Public Member Functions inherited from QXmppClientExtension | |
| QXmppClientExtension () | |
| virtual QStringList | discoveryFeatures () const |
| virtual QList< QXmppDiscoIdentity > | discoveryIdentities () const |
| virtual bool | handleStanza (const QDomElement &stanza) |
| You need to implement this method to process incoming XMPP stanzas. | |
| virtual bool | handleStanza (const QDomElement &stanza, const std::optional< QXmppE2eeMetadata > &e2eeMetadata) |
| You need to implement this method to process incoming XMPP stanzas. | |
Public Member Functions inherited from QXmppLoggable | |
| QXmppLoggable (QObject *parent=nullptr) | |
| Q_SIGNAL void | setGauge (const QString &gauge, double value) |
| Sets the given gauge to value. | |
| Q_SIGNAL void | logMessage (QXmppLogger::MessageType type, const QString &msg) |
| This signal is emitted to send logging messages. | |
| Q_SIGNAL void | updateCounter (const QString &counter, qint64 amount=1) |
| Updates the given counter by amount. | |
Friends | |
| class | tst_QXmppTrustManager |
Additional Inherited Members | |
Protected Member Functions inherited from QXmppClientExtension | |
| QXmppClient * | client () const |
| virtual void | setClient (QXmppClient *client) |
| virtual void | onRegistered (QXmppClient *client) |
| virtual void | onUnregistered (QXmppClient *client) |
| void | injectIq (const QDomElement &element, const std::optional< QXmppE2eeMetadata > &e2eeMetadata) |
| bool | injectMessage (QXmppMessage &&message) |
Protected Member Functions inherited from QXmppLoggable | |
| void | debug (const QString &message) |
| Logs a debugging message. | |
| void | info (const QString &message) |
| Logs an informational message. | |
| void | warning (const QString &message) |
| Logs a warning message. | |
| void | logReceived (const QString &message) |
| Logs a received packet. | |
| void | logSent (const QString &message) |
| Logs a sent packet. | |
The QXmppAtmManager class represents a manager for XEP-0450: Automatic Trust Management (ATM).
For interacting with the storage, a corresponding implementation of the storage interface must be added. That implementation has to be adapted to your storage such as a database. In case you only need memory and no peristent storage, you can use the existing implementation and add the storage with it:
It is strongly recommended to enable XEP-0280: Message Carbons with
and XEP-0313: Message Archive Management with
for delivering trust messages to all online and offline endpoints.
In addition, archiving via MAM must be enabled on the server.
| QXmppAtmManager::QXmppAtmManager | ( | QXmppAtmTrustStorage * | trustStorage | ) |
Constructs an ATM manager.
| trustStorage | trust storage implementation |
| QXmppTask< void > QXmppAtmManager::makeTrustDecisions | ( | QString | encryption, |
| QString | keyOwnerJid, | ||
| QList< QByteArray > | keyIdsForAuthentication, | ||
| QList< QByteArray > | keyIdsForDistrusting = {} |
||
| ) |
Authenticates or distrusts keys manually (e.g., by the Trust Message URI of a scanned QR code or after entering key IDs by hand) and sends corresponding trust messages.
| encryption | encryption protocol namespace |
| keyOwnerJid | JID of the key owner |
| keyIdsForAuthentication | IDs of the keys being authenticated |
| keyIdsForDistrusting | IDs of the keys being distrusted |