File indexing completed on 2024-06-16 05:00:16
0001 /* 0002 partnodebodypart.h 0003 0004 This file is part of KMail, the KDE mail client. 0005 SPDX-FileCopyrightText: 2004 Marc Mutz <mutz@kde.org> 0006 SPDX-FileCopyrightText: 2004 Ingo Kloecker <kloecker@kde.org> 0007 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #pragma once 0012 0013 #include "mimetreeparser/bodypart.h" 0014 #include "mimetreeparser_export.h" 0015 0016 namespace KMime 0017 { 0018 class Content; 0019 } 0020 0021 namespace MimeTreeParser 0022 { 0023 class NodeHelper; 0024 } 0025 0026 namespace MimeTreeParser 0027 { 0028 /** 0029 @short an implementation of the BodyPart interface using KMime::Content's 0030 */ 0031 class MIMETREEPARSER_EXPORT PartNodeBodyPart : public Interface::BodyPart 0032 { 0033 public: 0034 explicit PartNodeBodyPart(ObjectTreeParser *otp, ProcessResult *result, KMime::Content *topLevelContent, KMime::Content *content, NodeHelper *nodeHelper); 0035 0036 Interface::BodyPartMemento *memento() const override; 0037 KMime::Content *content() const override; 0038 KMime::Content *topLevelContent() const override; 0039 ProcessResult *processResult() const override; 0040 0041 NodeHelper *nodeHelper() const override; 0042 ObjectTreeParser *objectTreeParser() const override; 0043 Interface::ObjectTreeSource *source() const override; 0044 0045 private: 0046 KMime::Content *const mTopLevelContent; 0047 KMime::Content *const mContent; 0048 NodeHelper *const mNodeHelper; 0049 ObjectTreeParser *const mObjectTreeParser; 0050 ProcessResult *const mProcessResult; 0051 }; 0052 }