From e2e27c8c953d6650a1ede2596a3537e5ebd5cea5 Mon Sep 17 00:00:00 2001 From: Jonah BrĂ¼chert Date: Mon, 5 Sep 2022 19:23:07 +0200 Subject: Add parsing of XEP-0446: File metadata element This implements version 0.2.0 https://xmpp.org/extensions/xep-0446.html --- src/base/QXmppFileMetadata.h | 66 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/base/QXmppFileMetadata.h (limited to 'src/base/QXmppFileMetadata.h') diff --git a/src/base/QXmppFileMetadata.h b/src/base/QXmppFileMetadata.h new file mode 100644 index 00000000..e45e6506 --- /dev/null +++ b/src/base/QXmppFileMetadata.h @@ -0,0 +1,66 @@ +// SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert +// +// SPDX-License-Identifier: LGPL-2.1-or-later + +#ifndef QXMPPFILEMETADATA_H +#define QXMPPFILEMETADATA_H + +#include "QXmppGlobal.h" +#include "QXmppHash.h" + +#include + +#include +#include + +class QDomElement; +class QDateTime; +class QXmlStreamWriter; +class QXmppThumbnail; +class QXmppFileMetadataPrivate; + +class QXMPP_EXPORT QXmppFileMetadata +{ +public: + 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 std::optional &thumbnail() const; + void setThumbnail(const std::optional &thumbnail); + + std::optional width() const; + void setWidth(std::optional width); + +private: + QSharedDataPointer d; +}; + +#endif -- cgit v1.2.3