From 9c9377f609d87578051ab6521544d1f3d80b8011 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Thu, 5 Nov 2020 17:10:59 +0100 Subject: EntityTimeManager: Add QFuture-based request --- src/client/QXmppEntityTimeManager.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/client/QXmppEntityTimeManager.h') diff --git a/src/client/QXmppEntityTimeManager.h b/src/client/QXmppEntityTimeManager.h index 00aa4fe3..2d6e5556 100644 --- a/src/client/QXmppEntityTimeManager.h +++ b/src/client/QXmppEntityTimeManager.h @@ -26,28 +26,37 @@ #include "QXmppClientExtension.h" +#include + +template +class QFuture; class QXmppEntityTimeIq; +/// /// \brief The QXmppEntityTimeManager class provided the functionality to get /// the local time of an entity as defined by \xep{0202}: Entity Time. /// /// \ingroup Managers - +/// class QXMPP_EXPORT QXmppEntityTimeManager : public QXmppClientExtension { Q_OBJECT public: - QString requestTime(const QString& jid); + QString requestTime(const QString &jid); + + using EntityTimeResult = std::variant; + QFuture requestEntityTime(const QString &jid); /// \cond QStringList discoveryFeatures() const override; - bool handleStanza(const QDomElement& element) override; + bool handleStanza(const QDomElement &element) override; /// \endcond Q_SIGNALS: - /// \brief This signal is emitted when a time response is received. - void timeReceived(const QXmppEntityTimeIq&); + /// \brief This signal is emitted when a time response is received. It's not + /// emitted when the QFuture-based request is used. + void timeReceived(const QXmppEntityTimeIq &); }; #endif // QXMPPENTITYTIMEMANAGER_H -- cgit v1.2.3