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;
65 QXmppTask<BlocklistResult> fetchBlocklist();
66 QXmppTask<Result>
block(QString jid) {
return block(QVector<QString> { std::move(jid) }); }
67 QXmppTask<Result> block(QVector<QString> jids);
68 QXmppTask<Result>
unblock(QString jid) {
return unblock(QVector<QString> { std::move(jid) }); }
69 QXmppTask<Result> unblock(QVector<QString> jids);
71 Q_SIGNAL
void blocked(
const QVector<QString> &jids);
72 Q_SIGNAL
void unblocked(
const QVector<QString> &jids);
75 QStringList discoveryFeatures()
const override;
77 bool handleStanza(
const QDomElement &,
const std::optional<QXmppE2eeMetadata> &)
override;
83 std::unique_ptr<QXmppBlockingManagerPrivate> d;
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition QXmppClientExtension.h:33