File indexing completed on 2025-03-09 04:54:33
0001 /* 0002 SPDX-FileCopyrightText: 2017 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "messageviewer_export.h" 0010 #include <MessageViewer/HtmlWriter> 0011 0012 #include <QBuffer> 0013 #include <QByteArray> 0014 0015 namespace MessageViewer 0016 { 0017 /** 0018 * QBuffer-backed HtmlWriter 0019 */ 0020 class MESSAGEVIEWER_EXPORT BufferedHtmlWriter : public HtmlWriter 0021 { 0022 public: 0023 BufferedHtmlWriter(); 0024 ~BufferedHtmlWriter() override; 0025 0026 void begin() override; 0027 void end() override; 0028 void reset() override; 0029 [[nodiscard]] QIODevice *device() const override; 0030 0031 [[nodiscard]] QByteArray data() const; 0032 void clear(); 0033 0034 void setExtraHead(const QString &str) override; 0035 void embedPart(const QByteArray &contentId, const QString &url) override; 0036 void setStyleBody(const QString &styleBody) override; 0037 0038 protected: 0039 QByteArray m_data; 0040 0041 private: 0042 QBuffer m_buffer; 0043 }; 0044 }