QXmpp  Version: 1.15.1
QXmppCarbonManagerV2.h
1 // SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im>
2 //
3 // SPDX-License-Identifier: LGPL-2.1-or-later
4 
5 #ifndef QXMPPCARBONMANAGERV2_H
6 #define QXMPPCARBONMANAGERV2_H
7 
8 #include "QXmppClientExtension.h"
9 
10 #include <QProperty>
11 
12 class QXMPP_EXPORT QXmppCarbonManagerV2 : public QXmppClientExtension
13 {
14  Q_OBJECT
15 public:
18 
19  QBindable<bool> enabled() const;
20 
21  bool handleStanza(const QDomElement &, const std::optional<QXmppE2eeMetadata> &) override;
22 
23 protected:
24  void onRegistered(QXmppClient *client) override;
25  void onUnregistered(QXmppClient *client) override;
26 
27 private:
28  void enableCarbons();
29 
30  QProperty<bool> m_enabled = QProperty<bool> { false };
31 };
32 
33 #endif // QXMPPCARBONMANAGERV2_H
virtual void onRegistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:85
virtual void onUnregistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:95
virtual bool handleStanza(const QDomElement &stanza)
You need to implement this method to process incoming XMPP stanzas.
Definition: client/compat/removed_api.cpp:45
The QXmppCarbonManagerV2 class handles message carbons as described in XEP-0280: Message Carbons...
Definition: QXmppCarbonManagerV2.h:12
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:31
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:61