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

0001 /*
0002     partnodebodypart.cpp
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 #include "partnodebodypart.h"
0012 #include "nodehelper.h"
0013 #include "objecttreeparser.h"
0014 #include <KMime/Content>
0015 
0016 using namespace MimeTreeParser;
0017 
0018 PartNodeBodyPart::PartNodeBodyPart(ObjectTreeParser *otp,
0019                                    ProcessResult *result,
0020                                    KMime::Content *topLevelContent,
0021                                    KMime::Content *content,
0022                                    NodeHelper *nodeHelper)
0023     : Interface::BodyPart()
0024     , mTopLevelContent(topLevelContent)
0025     , mContent(content)
0026     , mNodeHelper(nodeHelper)
0027     , mObjectTreeParser(otp)
0028     , mProcessResult(result)
0029 {
0030 }
0031 
0032 Interface::BodyPartMemento *PartNodeBodyPart::memento() const
0033 {
0034     /*TODO(Andras) Volker suggests to use a ContentIndex->Mememnto mapping
0035     Also review if the reader's bodyPartMemento should be returned or the NodeHelper's one
0036     */
0037     return mNodeHelper->bodyPartMemento(mContent, "__plugin__");
0038 }
0039 
0040 Interface::ObjectTreeSource *PartNodeBodyPart::source() const
0041 {
0042     return mObjectTreeParser->mSource;
0043 }
0044 
0045 KMime::Content *PartNodeBodyPart::content() const
0046 {
0047     return mContent;
0048 }
0049 
0050 KMime::Content *PartNodeBodyPart::topLevelContent() const
0051 {
0052     return mTopLevelContent;
0053 }
0054 
0055 NodeHelper *PartNodeBodyPart::nodeHelper() const
0056 {
0057     return mNodeHelper;
0058 }
0059 
0060 ObjectTreeParser *PartNodeBodyPart::objectTreeParser() const
0061 {
0062     return mObjectTreeParser;
0063 }
0064 
0065 ProcessResult *PartNodeBodyPart::processResult() const
0066 {
0067     return mProcessResult;
0068 }