123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #ifndef QHTTPMULTIPART_H
- #define QHTTPMULTIPART_H
- #include <QtCore/QSharedDataPointer>
- #include <QtCore/QByteArray>
- #include <QtCore/QIODevice>
- #include <QtNetwork/QNetworkRequest>
- QT_BEGIN_NAMESPACE
- class QHttpPartPrivate;
- class QHttpMultiPart;
- class Q_NETWORK_EXPORT QHttpPart
- {
- public:
- QHttpPart();
- QHttpPart(const QHttpPart &other);
- ~QHttpPart();
- #ifdef Q_COMPILER_RVALUE_REFS
- QHttpPart &operator=(QHttpPart &&other) Q_DECL_NOTHROW { swap(other); return *this; }
- #endif
- QHttpPart &operator=(const QHttpPart &other);
- void swap(QHttpPart &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
- bool operator==(const QHttpPart &other) const;
- inline bool operator!=(const QHttpPart &other) const
- { return !operator==(other); }
- void setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value);
- void setRawHeader(const QByteArray &headerName, const QByteArray &headerValue);
- void setBody(const QByteArray &body);
- void setBodyDevice(QIODevice *device);
- private:
- QSharedDataPointer<QHttpPartPrivate> d;
- friend class QHttpMultiPartIODevice;
- };
- Q_DECLARE_SHARED(QHttpPart)
- class QHttpMultiPartPrivate;
- class Q_NETWORK_EXPORT QHttpMultiPart : public QObject
- {
- Q_OBJECT
- public:
- enum ContentType {
- MixedType,
- RelatedType,
- FormDataType,
- AlternativeType
- };
- explicit QHttpMultiPart(QObject *parent = Q_NULLPTR);
- explicit QHttpMultiPart(ContentType contentType, QObject *parent = Q_NULLPTR);
- ~QHttpMultiPart();
- void append(const QHttpPart &httpPart);
- void setContentType(ContentType contentType);
- QByteArray boundary() const;
- void setBoundary(const QByteArray &boundary);
- private:
- Q_DECLARE_PRIVATE(QHttpMultiPart)
- Q_DISABLE_COPY(QHttpMultiPart)
- friend class QNetworkAccessManager;
- friend class QNetworkAccessManagerPrivate;
- };
- QT_END_NAMESPACE
- #endif
|