QXmpp Version: 1.11.3
Loading...
Searching...
No Matches
QXmppThumbnail.h
1// SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef QXMPPTHUMBNAIL_H
6#define QXMPPTHUMBNAIL_H
7
8#include "QXmppConstants_p.h"
9#include "QXmppGlobal.h"
10
11#include <optional>
12
13#include <QSharedDataPointer>
14
15class QDomElement;
16class QMimeType;
17class QXmlStreamWriter;
18class QXmppThumbnailPrivate;
19
20class QXMPP_EXPORT QXmppThumbnail
21{
22public:
27
28 QXmppThumbnail &operator=(const QXmppThumbnail &);
29 QXmppThumbnail &operator=(QXmppThumbnail &&) noexcept;
30
31 const QString &uri() const;
32 void setUri(const QString &newUri);
33
34 const QMimeType &mediaType() const;
35 void setMediaType(const QMimeType &);
36
37 std::optional<uint32_t> width() const;
38 void setWidth(std::optional<uint32_t>);
39
40 std::optional<uint32_t> height() const;
41 void setHeight(std::optional<uint32_t>);
42
44 static constexpr std::tuple XmlTag = { u"thumbnail", QXmpp::Private::ns_thumbs };
45 bool parse(const QDomElement &);
46 void toXml(QXmlStreamWriter *writer) const;
48
49private:
50 QSharedDataPointer<QXmppThumbnailPrivate> d;
51};
52
53#endif // QXMPPTHUMBNAIL_H
Definition QXmppThumbnail.h:21
QXmppThumbnail(const QXmppThumbnail &)
Default copy-constructor.
QXmppThumbnail(QXmppThumbnail &&) noexcept
Default move-constructor.