From f79990e13fffd36a5d2aa4153ef06b48c0eeebe4 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Mon, 5 Jul 2021 15:25:54 +0200 Subject: RosterManager: Add QFuture-based requests --- src/client/QXmppRosterManager.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/client/QXmppRosterManager.h') diff --git a/src/client/QXmppRosterManager.h b/src/client/QXmppRosterManager.h index 81f0538a..09c32ea0 100644 --- a/src/client/QXmppRosterManager.h +++ b/src/client/QXmppRosterManager.h @@ -30,10 +30,14 @@ #include "QXmppPresence.h" #include "QXmppRosterIq.h" +#include + #include #include #include +template +class QFuture; class QXmppRosterManagerPrivate; /// @@ -71,6 +75,9 @@ class QXMPP_EXPORT QXmppRosterManager : public QXmppClientExtension Q_OBJECT public: + /// Empty result containing QXmpp::Success or a QXmppStanza::Error + using Result = std::variant; + QXmppRosterManager(QXmppClient *stream); ~QXmppRosterManager() override; @@ -84,6 +91,12 @@ public: QXmppPresence getPresence(const QString &bareJid, const QString &resource) const; + QFuture addRosterItem(const QString &bareJid, const QString &name = {}, const QSet &groups = {}); + QFuture removeRosterItem(const QString &bareJid); + QFuture renameRosterItem(const QString &bareJid, const QString &name); + QFuture subscribeTo(const QString &bareJid, const QString &reason = {}); + QFuture unsubscribeFrom(const QString &bareJid, const QString &reason = {}); + /// \cond bool handleStanza(const QDomElement &element) override; /// \endcond -- cgit v1.2.3