File indexing completed on 2024-06-16 05:00:16

0001 /*
0002   SPDX-FileCopyrightText: 2017 Sandro Kanuß <sknauss@kde.org>
0003 
0004   SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "mimetreeparser/objecttreesource.h"
0010 #include <memory>
0011 
0012 namespace MimeTreeParser
0013 {
0014 class SimpleObjectTreeSourcePrivate;
0015 
0016 /**
0017  * A very simple ObjectTreeSource.
0018  * mostly used in tests and outside the read redering
0019  */
0020 class MIMETREEPARSER_EXPORT SimpleObjectTreeSource : public Interface::ObjectTreeSource
0021 {
0022 public:
0023     SimpleObjectTreeSource();
0024     ~SimpleObjectTreeSource() override;
0025 
0026     [[nodiscard]] bool autoImportKeys() const override;
0027 
0028     const BodyPartFormatterFactory *bodyPartFormatterFactory() override;
0029     [[nodiscard]] bool decryptMessage() const override;
0030     void setDecryptMessage(bool decryptMessage);
0031 
0032     void setHtmlMode(MimeTreeParser::Util::HtmlMode mode, const QList<MimeTreeParser::Util::HtmlMode> &availableModes) override;
0033 
0034     void setPreferredMode(MimeTreeParser::Util::HtmlMode mode);
0035     [[nodiscard]] MimeTreeParser::Util::HtmlMode preferredMode() const override;
0036 
0037     void setOverrideCodecName(const QByteArray &codec);
0038     QByteArray overrideCodecName() const override;
0039 
0040 private:
0041     std::unique_ptr<SimpleObjectTreeSourcePrivate> d;
0042 };
0043 }