// SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert // // SPDX-License-Identifier: LGPL-2.1-or-later #ifndef QXMPPFILEMETADATA_H #define QXMPPFILEMETADATA_H #include "QXmppGlobal.h" #include #include 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 &lastModified() const; void setLastModified(const std::optional &date); const std::optional &description() const; void setDescription(const std::optional &description); const QVector &hashes() const; void setHashes(const QVector &hashes); std::optional height() const; void setHeight(std::optional height); std::optional length() const; void setLength(std::optional length); const std::optional &mediaType() const; void setMediaType(std::optional mediaType); std::optional filename() const; void setFilename(std::optional); std::optional size() const; void setSize(std::optional size); const QVector &thumbnails() const; void setThumbnails(const QVector &thumbnail); std::optional width() const; void setWidth(std::optional width); private: QSharedDataPointer d; }; #endif