6 #ifndef QXMPPHTTPUPLOADMANAGER_H 7 #define QXMPPHTTPUPLOADMANAGER_H 9 #include "QXmppClientExtension.h" 10 #include "QXmppError.h" 18 class QNetworkAccessManager;
19 class QXmppHttpUploadServicePrivate;
23 struct QXmppHttpUploadPrivate;
24 struct QXmppHttpUploadManagerPrivate;
33 void setJid(
const QString &jid);
35 std::optional<quint64> sizeLimit()
const;
36 void setSizeLimit(std::optional<quint64> sizeLimit);
39 QSharedDataPointer<QXmppHttpUploadServicePrivate> d;
45 Q_PROPERTY(
float progress READ progress NOTIFY progressChanged)
46 Q_PROPERTY(quint64 bytesSent READ bytesSent NOTIFY progressChanged)
47 Q_PROPERTY(quint64 bytesTotal READ bytesTotal NOTIFY progressChanged)
54 float progress() const;
55 quint64 bytesSent() const;
56 quint64 bytesTotal() const;
59 bool isFinished() const;
62 Q_SIGNAL
void progressChanged();
70 std::unique_ptr<QXmppHttpUploadPrivate> d;
78 Q_PROPERTY(QVector<QXmppHttpUploadService> services READ services NOTIFY servicesChanged)
93 QVector<QXmppHttpUploadService> services()
const;
94 Q_SIGNAL
void servicesChanged();
96 Support support()
const;
97 Q_SIGNAL
void supportChanged();
99 std::shared_ptr<QXmppHttpUpload> uploadFile(std::unique_ptr<QIODevice> data,
const QString &filename,
const QMimeType &mimeType, qint64 fileSize = -1,
const QString &uploadServiceJid = {});
100 std::shared_ptr<QXmppHttpUpload> uploadFile(
const QFileInfo &fileInfo,
const QString &filename = {},
const QString &uploadServiceJid = {});
108 void updateServices();
109 void resetCachedData();
110 void updateCachedData();
112 using SlotResult = std::variant<QXmppHttpUploadSlotIq, QXmppError>;
114 const QString &uploadService = {});
116 const QString &customFileName,
117 const QString &uploadService = {});
120 const QMimeType &mimeType,
121 const QString &uploadService = {});
123 friend struct QXmppHttpUploadManagerPrivate;
125 std::unique_ptr<QXmppHttpUploadManagerPrivate> d;
128 #endif // QXMPPHTTPUPLOADMANAGER_H std::variant< QUrl, QXmpp::Cancelled, QXmppError > Result
Definition: QXmppHttpUploadManager.h:50
Definition: QXmppHttpUploadManager.h:75
Definition: QXmppError.h:17
Definition: QXmppTask.h:646
Represents an HTTP File Upload IQ result for receiving an upload slot as defined by XEP-0363: HTTP Fi...
Definition: QXmppHttpUploadIq.h:68
Support
Definition: QXmppHttpUploadManager.h:82
Definition: QXmppTask.h:67
Definition: QXmppHttpUploadManager.h:42
QXmppHttpUploadService represents an HTTP File Upload service.
Definition: QXmppHttpUploadManager.h:26
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:31
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:61