// SPDX-FileCopyrightText: 2022 Linus Jahn // SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert // // SPDX-License-Identifier: LGPL-2.1-or-later #ifndef QXMPPENCRYPTEDFILESOURCE_H #define QXMPPENCRYPTEDFILESOURCE_H #include "QXmppGlobal.h" #include "QXmppHash.h" #include "QXmppHttpFileSource.h" #include #include #include class QXmppEncryptedFileSourcePrivate; // exported for tests class QXMPP_EXPORT QXmppEncryptedFileSource { public: QXmppEncryptedFileSource(); QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppEncryptedFileSource) QXmpp::Cipher cipher() const; void setCipher(QXmpp::Cipher newCipher); const QByteArray &key() const; void setKey(const QByteArray &newKey); const QByteArray &iv() const; void setIv(const QByteArray &newIv); const QVector &hashes() const; void setHashes(const QVector &newHashes); const QVector &httpSources() const; void setHttpSources(const QVector &newHttpSources); /// \cond bool parse(const QDomElement &el); void toXml(QXmlStreamWriter *writer) const; /// \endcond private: QSharedDataPointer d; }; #endif // QXMPPENCRYPTEDFILESOURCE_H