QXmpp Version: 1.10.3
Loading...
Searching...
No Matches
QXmppFileMetadata.h
1// SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert <jbb@kaidan.im>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef QXMPPFILEMETADATA_H
6#define QXMPPFILEMETADATA_H
7
8#include "QXmppGlobal.h"
9
10#include <optional>
11
12#include <QSharedDataPointer>
13
14class QDomElement;
15class QDateTime;
16class QMimeType;
17class QXmlStreamWriter;
18class QXmppHash;
19class QXmppThumbnail;
20class QXmppFileMetadataPrivate;
21class QFileInfo;
22
23class QXMPP_EXPORT QXmppFileMetadata
24{
25public:
26 static QXmppFileMetadata fromFileInfo(const QFileInfo &info);
27
28 QXmppFileMetadata();
29 QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppFileMetadata)
30
31
32 bool parse(const QDomElement &el);
33 void toXml(QXmlStreamWriter *writer) const;
35
36 const std::optional<QDateTime> &lastModified() const;
37 void setLastModified(const std::optional<QDateTime> &date);
38
39 const std::optional<QString> &description() const;
40 void setDescription(const std::optional<QString> &description);
41
42 const QVector<QXmppHash> &hashes() const;
43 void setHashes(const QVector<QXmppHash> &hashes);
44
45 std::optional<uint32_t> height() const;
46 void setHeight(std::optional<uint32_t> height);
47
48 std::optional<uint32_t> length() const;
49 void setLength(std::optional<uint32_t> length);
50
51 const std::optional<QMimeType> &mediaType() const;
52 void setMediaType(std::optional<QMimeType> mediaType);
53
54 std::optional<QString> filename() const;
55 void setFilename(std::optional<QString>);
56
57 std::optional<uint64_t> size() const;
58 void setSize(std::optional<uint64_t> size);
59
60 const QVector<QXmppThumbnail> &thumbnails() const;
61 void setThumbnails(const QVector<QXmppThumbnail> &thumbnail);
62
63 std::optional<uint32_t> width() const;
64 void setWidth(std::optional<uint32_t> width);
65
66private:
67 QSharedDataPointer<QXmppFileMetadataPrivate> d;
68};
69
70#endif
void setThumbnails(const QVector< QXmppThumbnail > &thumbnail)
Sets the thumbnail references.
Definition QXmppFileMetadata.cpp:270
std::optional< uint32_t > height() const
Returns the height of the image.
Definition QXmppFileMetadata.cpp:204
std::optional< uint64_t > size() const
Returns the size of the file in bytes.
Definition QXmppFileMetadata.cpp:252
void setDescription(const std::optional< QString > &description)
Sets the description of the file.
Definition QXmppFileMetadata.cpp:186
static QXmppFileMetadata fromFileInfo(const QFileInfo &info)
Creates a QXmppFileMetadata object from information from QFileInfo.
Definition QXmppFileMetadata.cpp:53
const std::optional< QString > & description() const
Returns the description of the file.
Definition QXmppFileMetadata.cpp:180
void setSize(std::optional< uint64_t > size)
Sets the size of the file in bytes.
Definition QXmppFileMetadata.cpp:258
void setFilename(std::optional< QString >)
Sets the filename.
Definition QXmppFileMetadata.cpp:246
const QVector< QXmppThumbnail > & thumbnails() const
Returns the thumbnail references.
Definition QXmppFileMetadata.cpp:264
void setMediaType(std::optional< QMimeType > mediaType)
Sets the media type of the file.
Definition QXmppFileMetadata.cpp:234
void setHeight(std::optional< uint32_t > height)
Sets the height of the image.
Definition QXmppFileMetadata.cpp:210
void setLength(std::optional< uint32_t > length)
Sets the length of a video or audio file.
Definition QXmppFileMetadata.cpp:222
std::optional< uint32_t > width() const
Returns the width of the image or video.
Definition QXmppFileMetadata.cpp:276
const QVector< QXmppHash > & hashes() const
Returns the hashes of the file.
Definition QXmppFileMetadata.cpp:192
void setLastModified(const std::optional< QDateTime > &date)
Sets when the file was last modified.
Definition QXmppFileMetadata.cpp:174
std::optional< uint32_t > length() const
Returns the length of a video or audio file.
Definition QXmppFileMetadata.cpp:216
void setHashes(const QVector< QXmppHash > &hashes)
Sets the hashes of the file.
Definition QXmppFileMetadata.cpp:198
const std::optional< QMimeType > & mediaType() const
Returns the media type of the file.
Definition QXmppFileMetadata.cpp:228
const std::optional< QDateTime > & lastModified() const
Returns when the file was last modified.
Definition QXmppFileMetadata.cpp:168
void setWidth(std::optional< uint32_t > width)
Sets the width of the image or video.
Definition QXmppFileMetadata.cpp:282
std::optional< QString > filename() const
Returns the filename.
Definition QXmppFileMetadata.cpp:240
Definition QXmppHash.h:37
Definition QXmppThumbnail.h:20