5 #ifndef QXMPPUPLOADREQUESTMANAGER_H 6 #define QXMPPUPLOADREQUESTMANAGER_H 8 #include "QXmppClientExtension.h" 9 #include "QXmppError.h" 13 #include <QSharedDataPointer> 21 class QXmppUploadServicePrivate;
22 class QXmppUploadRequestManagerPrivate;
39 void setJid(
const QString &jid);
41 qint64 sizeLimit()
const;
42 void setSizeLimit(qint64 sizeLimit);
45 QSharedDataPointer<QXmppUploadServicePrivate> d;
91 QString requestUploadSlot(
const QFileInfo &file,
92 const QString &uploadService = QString());
93 QString requestUploadSlot(
const QFileInfo &file,
94 const QString &customFileName,
95 const QString &uploadService = QString());
96 QString requestUploadSlot(
const QString &fileName,
98 const QMimeType &mimeType,
99 const QString &uploadService = QString());
101 using SlotResult = std::variant<QXmppHttpUploadSlotIq, QXmppError>;
103 auto requestSlot(
const QFileInfo &file,
const QString &customFileName,
const QString &uploadService = {}) ->
QXmppTask<SlotResult>;
104 auto requestSlot(
const QString &fileName, qint64 fileSize,
const QMimeType &mimeType,
const QString &uploadService = {}) ->
QXmppTask<SlotResult>;
106 bool serviceFound()
const;
108 QVector<QXmppUploadService> uploadServices()
const;
121 Q_SIGNAL
void serviceFoundChanged();
130 const std::unique_ptr<QXmppUploadRequestManagerPrivate> d;
133 #endif // QXMPPUPLOADREQUESTMANAGER_H virtual void onRegistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:85
QXmppUploadService represents an HTTP File Upload service.
Definition: QXmppUploadRequestManager.h:29
std::variant< QXmppHttpUploadSlotIq, QXmppError > SlotResult
Definition: QXmppUploadRequestManager.h:101
The QXmppUploadRequestManager implements the core of XEP-0363: HTTP File Upload.
Definition: QXmppUploadRequestManager.h:83
virtual void onUnregistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:95
virtual bool handleStanza(const QDomElement &stanza)
You need to implement this method to process incoming XMPP stanzas.
Definition: client/compat/removed_api.cpp:45
Represents an HTTP File Upload IQ for requesting an upload slot as defined by XEP-0363: HTTP File Upl...
Definition: QXmppHttpUploadIq.h:26
Represents an HTTP File Upload IQ result for receiving an upload slot as defined by XEP-0363: HTTP Fi...
Definition: QXmppHttpUploadIq.h:68
Definition: QXmppTask.h:67
Definition: QXmppDiscoveryIq.h:199
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