QXmpp Version: 1.11.3
Loading...
Searching...
No Matches
QXmppHttpUploadIq.h
1// SPDX-FileCopyrightText: 2019 Linus Jahn <lnj@kaidan.im>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef QXMPPHTTPUPLOADIQ_H
6#define QXMPPHTTPUPLOADIQ_H
7
8#include "QXmppIq.h"
9
10#include <QSharedDataPointer>
11
12class QUrl;
13class QMimeType;
14
15class QXmppHttpUploadRequestIqPrivate;
16class QXmppHttpUploadSlotIqPrivate;
17
26class QXMPP_EXPORT QXmppHttpUploadRequestIq : public QXmppIq
27{
28public:
33
36
37 QString fileName() const;
38 void setFileName(const QString &filename);
39
40 qint64 size() const;
41 void setSize(qint64 size);
42
43 QMimeType contentType() const;
44 void setContentType(const QMimeType &type);
45
47 static constexpr std::tuple PayloadXmlTag = { u"request", QXmpp::Private::ns_http_upload };
48 [[deprecated("Use QXmpp::isIqElement()")]]
49 static bool isHttpUploadRequestIq(const QDomElement &element);
50
51protected:
52 void parseElementFromChild(const QDomElement &element) override;
53 void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
55
56private:
57 QSharedDataPointer<QXmppHttpUploadRequestIqPrivate> d;
58};
59
68class QXMPP_EXPORT QXmppHttpUploadSlotIq : public QXmppIq
69{
70public:
74 ~QXmppHttpUploadSlotIq() override;
75
78
79 QUrl putUrl() const;
80 void setPutUrl(const QUrl &putUrl);
81
82 QUrl getUrl() const;
83 void setGetUrl(const QUrl &getUrl);
84
85 QMap<QString, QString> putHeaders() const;
86 void setPutHeaders(const QMap<QString, QString> &putHeaders);
87
89 static constexpr std::tuple PayloadXmlTag = { u"slot", QXmpp::Private::ns_http_upload };
90 [[deprecated("Use QXmpp::isIqElement()")]]
91 static bool isHttpUploadSlotIq(const QDomElement &element);
92
93protected:
94 void parseElementFromChild(const QDomElement &element) override;
95 void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
97
98private:
99 QSharedDataPointer<QXmppHttpUploadSlotIqPrivate> d;
100};
101
102#endif // QXMPPHTTPUPLOADIQ_H
Represents an HTTP File Upload IQ for requesting an upload slot as defined by XEP-0363: HTTP File Upl...
Definition QXmppHttpUploadIq.h:27
QXmppHttpUploadRequestIq & operator=(const QXmppHttpUploadRequestIq &)
Default assignment operator.
QXmppHttpUploadRequestIq(const QXmppHttpUploadRequestIq &)
Default copy-constructor.
QXmppHttpUploadRequestIq & operator=(QXmppHttpUploadRequestIq &&)
Default assignment operator.
QXmppHttpUploadRequestIq(QXmppHttpUploadRequestIq &&)
Default move-constructor.
Represents an HTTP File Upload IQ result for receiving an upload slot as defined by XEP-0363: HTTP Fi...
Definition QXmppHttpUploadIq.h:69
QXmppHttpUploadSlotIq & operator=(QXmppHttpUploadSlotIq &&)
Default move-assignment operator.
QXmppHttpUploadSlotIq(const QXmppHttpUploadSlotIq &)
Default copy-constructor.
QXmppHttpUploadSlotIq(QXmppHttpUploadSlotIq &&)
Default move-constructor.
QXmppHttpUploadSlotIq & operator=(const QXmppHttpUploadSlotIq &)
Default assignment operator.
The QXmppIq class is the base class for all IQs.
Definition QXmppIq.h:23