blob: c4d9e8caee165622f6185de61a2ef75a2fbb292d (
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// SPDX-FileCopyrightText: 2022 Jonah Brüchert <jbb@kaidan.im>
//
// SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef QXMPPFILEMETADATA_H
#define QXMPPFILEMETADATA_H
#include "QXmppGlobal.h"
#include <optional>
#include <QSharedDataPointer>
class QDomElement;
class QDateTime;
class QMimeType;
class QXmlStreamWriter;
class QXmppHash;
class QXmppThumbnail;
class QXmppFileMetadataPrivate;
class QFileInfo;
class QXMPP_EXPORT QXmppFileMetadata
{
public:
static QXmppFileMetadata fromFileInfo(const QFileInfo &info);
QXmppFileMetadata();
QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppFileMetadata)
/// \cond
bool parse(const QDomElement &el);
void toXml(QXmlStreamWriter *writer) const;
/// \endcond
const std::optional<QDateTime> &lastModified() const;
void setLastModified(const std::optional<QDateTime> &date);
const std::optional<QString> &description() const;
void setDescription(const std::optional<QString> &description);
const QVector<QXmppHash> &hashes() const;
void setHashes(const QVector<QXmppHash> &hashes);
std::optional<uint32_t> height() const;
void setHeight(std::optional<uint32_t> height);
std::optional<uint32_t> length() const;
void setLength(std::optional<uint32_t> length);
const std::optional<QMimeType> &mediaType() const;
void setMediaType(std::optional<QMimeType> mediaType);
std::optional<QString> filename() const;
void setFilename(std::optional<QString>);
std::optional<uint64_t> size() const;
void setSize(std::optional<uint64_t> size);
const QVector<QXmppThumbnail> &thumbnails() const;
void setThumbnails(const QVector<QXmppThumbnail> &thumbnail);
std::optional<uint32_t> width() const;
void setWidth(std::optional<uint32_t> width);
private:
QSharedDataPointer<QXmppFileMetadataPrivate> d;
};
#endif
|