5 #ifndef QXMPPOMEMOMANAGER_H 6 #define QXMPPOMEMOMANAGER_H 8 #include "QXmppClientExtension.h" 9 #include "QXmppE2eeExtension.h" 10 #include "QXmppMessageHandler.h" 11 #include "QXmppPubSubEventHandler.h" 12 #include "QXmppTrustSecurityPolicy.h" 13 #include "qxmppomemo_export.h" 15 class QXmppOmemoDevicePrivate;
16 class QXmppOmemoManagerPrivate;
17 class QXmppOmemoOwnDevicePrivate;
31 QString label()
const;
32 void setLabel(
const QString &label);
34 QByteArray keyId()
const;
35 void setKeyId(
const QByteArray &keyId);
38 QSharedDataPointer<QXmppOmemoOwnDevicePrivate> d;
53 void setJid(
const QString &jid);
55 QString label()
const;
56 void setLabel(
const QString &label);
58 QByteArray keyId()
const;
59 void setKeyId(
const QByteArray &keyId);
65 QSharedDataPointer<QXmppOmemoDevicePrivate> d;
73 using Result = std::variant<QXmpp::Success, QXmppError>;
75 struct DevicesResult {
92 int maximumDevicesPerJid()
const;
93 void setMaximumDevicesPerJid(
int maximum);
95 int maximumDevicesPerStanza()
const;
96 void setMaximumDevicesPerStanza(
int maximum);
107 void setAcceptedSessionBuildingTrustLevels(QXmpp::TrustLevels trustLevels);
108 QXmpp::TrustLevels acceptedSessionBuildingTrustLevels();
110 void setNewDeviceAutoSessionBuildingEnabled(
bool isNewDeviceAutoSessionBuildingEnabled);
111 bool isNewDeviceAutoSessionBuildingEnabled();
140 Q_SIGNAL
void trustLevelsChanged(
const QMultiHash<QString, QByteArray> &modifiedKeys);
142 Q_SIGNAL
void deviceAdded(
const QString &jid, uint32_t deviceId);
143 Q_SIGNAL
void deviceChanged(
const QString &jid, uint32_t deviceId);
144 Q_SIGNAL
void deviceRemoved(
const QString &jid, uint32_t deviceId);
145 Q_SIGNAL
void devicesRemoved(
const QString &jid);
146 Q_SIGNAL
void allDevicesRemoved();
152 bool handlePubSubEvent(
const QDomElement &element,
const QString &pubSubService,
const QString &nodeName)
override;
156 std::unique_ptr<QXmppOmemoManagerPrivate> d;
158 friend class QXmppOmemoManagerPrivate;
159 friend class tst_QXmppOmemoManager;
162 #endif // QXMPPOMEMOMANAGER_H virtual void onRegistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:85
Definition: QXmppPubSubEventHandler.h:14
virtual QXmppTask< IqDecryptResult > decryptIq(const QDomElement &)=0
virtual void onUnregistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:95
Definition: QXmppE2eeExtension.h:22
TrustLevel
Definition: QXmppTrustLevel.h:19
virtual bool handleStanza(const QDomElement &stanza)
You need to implement this method to process incoming XMPP stanzas.
Definition: client/compat/removed_api.cpp:26
virtual QXmppTask< MessageDecryptResult > decryptMessage(QXmppMessage &&)=0
std::variant< QXmpp::Success, QXmppError > Result
Definition: QXmppOmemoManager.h:73
The QXmppOmemoDevice class represents a XEP-0384: OMEMO Encryption device.
Definition: QXmppOmemoManager.h:41
virtual bool handleMessage(const QXmppMessage &)=0
The QXmppOmemoStorage class stores data used by XEP-0384: OMEMO Encryption.
Definition: QXmppOmemoStorage.h:16
Definition: QXmppTask.h:61
Definition: QXmppOmemoManager.h:68
virtual bool isEncrypted(const QDomElement &)=0
virtual bool handlePubSubEvent(const QDomElement &element, const QString &pubSubService, const QString &nodeName)=0
TrustSecurityPolicy
Definition: QXmppTrustSecurityPolicy.h:18
The QXmppIq class is the base class for all IQs.
Definition: QXmppIq.h:22
virtual QStringList discoveryFeatures() const
Definition: QXmppClientExtension.cpp:22
The QXmppMessage class represents an XMPP message.
Definition: QXmppMessage.h:63
Definition: QXmppMessageHandler.h:15
virtual QXmppTask< MessageEncryptResult > encryptMessage(QXmppMessage &&, const std::optional< QXmppSendStanzaParams > &)=0
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:31
The QXmppOmemoOwnDevice class represents the XEP-0384: OMEMO Encryption device of this client instanc...
Definition: QXmppOmemoManager.h:20
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:61
virtual QXmppTask< IqEncryptResult > encryptIq(QXmppIq &&, const std::optional< QXmppSendStanzaParams > &)=0