QXmpp Version: 1.10.0
Classes | Public Types | Public Member Functions | List of all members
QXmppE2eeExtension Class Referenceabstract
Inheritance diagram for QXmppE2eeExtension:
Inheritance graph
[legend]

Classes

struct  NotEncrypted
 

Public Types

using MessageEncryptResult = std::variant< std::unique_ptr< QXmppMessage >, QXmppError >
 
using MessageDecryptResult = std::variant< QXmppMessage, NotEncrypted, QXmppError >
 
using IqEncryptResult = std::variant< std::unique_ptr< QXmppIq >, QXmppError >
 
using IqDecryptResult = std::variant< QDomElement, NotEncrypted, QXmppError >
 

Public Member Functions

virtual QXmppTask< MessageEncryptResultencryptMessage (QXmppMessage &&, const std::optional< QXmppSendStanzaParams > &)=0
 
virtual QXmppTask< MessageDecryptResultdecryptMessage (QXmppMessage &&)=0
 
virtual QXmppTask< IqEncryptResultencryptIq (QXmppIq &&, const std::optional< QXmppSendStanzaParams > &)=0
 
virtual QXmppTask< IqDecryptResultdecryptIq (const QDomElement &)=0
 
virtual bool isEncrypted (const QDomElement &)=0
 
virtual bool isEncrypted (const QXmppMessage &)=0
 

Detailed Description

Abstract client extension for end-to-end-encryption protocols.

Warning
THIS API IS NOT FINALIZED YET!
Since
QXmpp 1.5

Member Typedef Documentation

◆ IqDecryptResult

Contains a deserialized IQ stanza in form of a DOM element with decrypted contents or a QXmpp::SendError in case the IQ couldn't be decrypted.

◆ IqEncryptResult

Contains the XML serialized IQ stanza with encrypted contents or a QXmpp::SendError in case the IQ couldn't be encrypted.

◆ MessageDecryptResult

Contains the decrypted QXmppMessage, NotEncrypted or an QXmppError.

◆ MessageEncryptResult

Contains the XML serialized message stanza with encrypted contents or a QXmpp::SendError in case the message couldn't be encrypted.

Member Function Documentation

◆ decryptIq()

QXmppE2eeExtension::decryptIq ( const QDomElement &  )
pure virtual

Decrypts an IQ from a DOM element and returns a fully decrypted IQ as a DOM element via QFuture. If the input was not encrypted, QXmppE2eeExtension::NotEncrypted should be returned.

◆ decryptMessage()

QXmppE2eeExtension::decryptMessage ( QXmppMessage &&  )
pure virtual

Decrypts a QXmppMessage and returns the decrypted QXmppMessage. In case the message was not encrypted, QXmppE2eeExtension::NotEncrypted should be returned.

◆ encryptIq()

QXmppE2eeExtension::encryptIq ( QXmppIq &&  ,
const std::optional< QXmppSendStanzaParams > &   
)
pure virtual

Encrypts a QXmppIq and returns the serialized XML stanza with encrypted contents via QFuture.

If the IQ cannot be encrypted for whatever reason, you can either serialize the IQ unencrypted and return that or return a SendError with an error message.

◆ encryptMessage()

QXmppE2eeExtension::encryptMessage ( QXmppMessage &&  ,
const std::optional< QXmppSendStanzaParams > &   
)
pure virtual

Encrypts a QXmppMessage and returns the serialized XML stanza with encrypted contents via QFuture.

If the message cannot be encrypted for whatever reason, you can either serialize the message unencrypted and return that or return a SendError with an error message.

◆ isEncrypted() [1/2]

QXmppE2eeExtension::isEncrypted ( const QDomElement &  )
pure virtual

Returns whether the DOM element of an IQ or message stanza is encrypted with this encryption.

◆ isEncrypted() [2/2]

QXmppE2eeExtension::isEncrypted ( const QXmppMessage )
pure virtual

Returns whether the message is encrypted with this encryption.


The documentation for this class was generated from the following files: