5 #ifndef QXMPPBLOCKINGMANAGER_H 6 #define QXMPPBLOCKINGMANAGER_H 8 #include "QXmppClientExtension.h" 9 #include "QXmppError.h" 10 #include "QXmppTask.h" 16 struct QXmppBlockingManagerPrivate;
26 QVector<QString> blockingEntries;
27 QVector<QString> partiallyBlockingEntries;
29 struct PartiallyBlocked
31 QVector<QString> partiallyBlockingEntries;
34 using BlockingState = std::variant<NotBlocked, PartiallyBlocked, Blocked>;
40 QVector<QString> entries()
const;
41 bool containsEntry(QStringView)
const;
45 QVector<QString> m_blocklist;
53 Q_PROPERTY(
bool subscribed READ isSubscribed NOTIFY subscribedChanged)
57 using Result = std::variant<QXmpp::Success, QXmppError>;
62 bool isSubscribed()
const;
63 Q_SIGNAL
void subscribedChanged();
71 Q_SIGNAL
void blocked(
const QVector<QString> &jids);
72 Q_SIGNAL
void unblocked(
const QVector<QString> &jids);
77 bool handleStanza(
const QDomElement &,
const std::optional<QXmppE2eeMetadata> &)
override;
83 std::unique_ptr<QXmppBlockingManagerPrivate> d;
86 #endif // QXMPPBLOCKINGMANAGER_H Uses XEP-0191: Blocking Command to manage blocked accounts and services.
Definition: QXmppBlockingManager.h:48
virtual bool handleStanza(const QDomElement &stanza)
You need to implement this method to process incoming XMPP stanzas.
Definition: QXmppClientExtension.cpp:51
QXmppTask< Result > unblock(QString jid)
Definition: QXmppBlockingManager.h:68
std::variant< QXmppBlocklist, QXmppError > BlocklistResult
Definition: QXmppBlockingManager.h:56
Definition: QXmppStream.h:20
QXmppTask< Result > block(QString jid)
Definition: QXmppBlockingManager.h:66
std::variant< NotBlocked, PartiallyBlocked, Blocked > BlockingState
Definition: QXmppBlockingManager.h:34
virtual QStringList discoveryFeatures() const
Definition: QXmppClientExtension.cpp:22
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:32
std::variant< QXmpp::Success, QXmppError > Result
Definition: QXmppBlockingManager.h:57
virtual void setClient(QXmppClient *client)
Definition: QXmppClientExtension.cpp:88
List of blocked entries according to XEP-0191: Blocking Command with helper functions to check the bl...
Definition: QXmppBlockingManager.h:18
The QXmppClient class is the main class for using QXmpp.
Definition: QXmppClient.h:83