aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppUploadRequestManager.h
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2021-04-28 19:20:26 +0200
committerLinus Jahn <lnj@kaidan.im>2021-06-27 20:17:19 +0200
commitcbc61b2439a54fc31fd98cd5a0899d3e0aa9c5d9 (patch)
tree0fb51bde3420ab6791bca78b777c113c42fbc3b1 /src/client/QXmppUploadRequestManager.h
parentc02b2a1d93b75e5210a2024b398df83c121ae7e7 (diff)
downloadqxmpp-cbc61b2439a54fc31fd98cd5a0899d3e0aa9c5d9.tar.gz
UploadRequestManager: Add QFuture-based requests
Diffstat (limited to 'src/client/QXmppUploadRequestManager.h')
-rw-r--r--src/client/QXmppUploadRequestManager.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/client/QXmppUploadRequestManager.h b/src/client/QXmppUploadRequestManager.h
index 733987c0..f7586560 100644
--- a/src/client/QXmppUploadRequestManager.h
+++ b/src/client/QXmppUploadRequestManager.h
@@ -28,7 +28,11 @@
#include <QSharedDataPointer>
+#include <variant>
+
class QFileInfo;
+template<typename T>
+class QFuture;
class QMimeType;
class QXmppHttpUploadRequestIq;
class QXmppHttpUploadSlotIq;
@@ -112,6 +116,17 @@ public:
const QMimeType &mimeType,
const QString &uploadService = QString());
+ using SlotResult = std::variant<QXmppHttpUploadSlotIq, QXmppStanza::Error>;
+ QFuture<SlotResult> requestSlot(const QFileInfo &file,
+ const QString &uploadService = {});
+ QFuture<SlotResult> requestSlot(const QFileInfo &file,
+ const QString &customFileName,
+ const QString &uploadService = {});
+ QFuture<SlotResult> requestSlot(const QString &fileName,
+ qint64 fileSize,
+ const QMimeType &mimeType,
+ const QString &uploadService = {});
+
bool serviceFound() const;
QVector<QXmppUploadService> uploadServices() const;