// SPDX-FileCopyrightText: 2022 Linus Jahn // // SPDX-License-Identifier: LGPL-2.1-or-later #ifndef QXMPPTHUMBNAIL_H #define QXMPPTHUMBNAIL_H #include "QXmppGlobal.h" #include #include class QDomElement; class QMimeType; class QXmlStreamWriter; class QXmppThumbnailPrivate; class QXMPP_EXPORT QXmppThumbnail { public: QXmppThumbnail(); QXmppThumbnail(const QXmppThumbnail &); QXmppThumbnail(QXmppThumbnail &&) noexcept; ~QXmppThumbnail(); QXmppThumbnail &operator=(const QXmppThumbnail &); QXmppThumbnail &operator=(QXmppThumbnail &&) noexcept; const QString &uri() const; void setUri(const QString &newUri); const QMimeType &mediaType() const; void setMediaType(const QMimeType &); std::optional width() const; void setWidth(std::optional); std::optional height() const; void setHeight(std::optional); /// \cond bool parse(const QDomElement &); void toXml(QXmlStreamWriter *writer) const; /// \endcond private: QSharedDataPointer d; }; #endif // QXMPPTHUMBNAIL_H