blob: 50853642c85788fbb9b861247e8442fc89220db2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
// SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im>
//
// SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef QXMPPTHUMBNAIL_H
#define QXMPPTHUMBNAIL_H
#include "QXmppGlobal.h"
#include <optional>
#include <QSharedDataPointer>
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<uint32_t> width() const;
void setWidth(std::optional<uint32_t>);
std::optional<uint32_t> height() const;
void setHeight(std::optional<uint32_t>);
/// \cond
bool parse(const QDomElement &);
void toXml(QXmlStreamWriter *writer) const;
/// \endcond
private:
QSharedDataPointer<QXmppThumbnailPrivate> d;
};
#endif // QXMPPTHUMBNAIL_H
|