File indexing completed on 2024-06-23 05:20:28

0001 /*  -*- mode: C++; c-file-style: "gnu" -*-
0002     bodypartformatter.h
0003 
0004     This file is part of KMail's plugin interface.
0005     Copyright (c) 2004 Marc Mutz <mutz@kde.org>,
0006                        Ingo Kloecker <kloecker@kde.org>
0007 
0008     KMail is free software; you can redistribute it and/or modify it
0009     under the terms of the GNU General Public License as published by
0010     the Free Software Foundation; either version 2 of the License, or
0011     (at your option) any later version.
0012 
0013     KMail is distributed in the hope that it will be useful, but
0014     WITHOUT ANY WARRANTY; without even the implied warranty of
0015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0016     General Public License for more details.
0017 
0018     You should have received a copy of the GNU General Public License
0019     along with this program; if not, write to the Free Software
0020     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0021 
0022     In addition, as a special exception, the copyright holders give
0023     permission to link the code of this program with any edition of
0024     the Qt library by Trolltech AS, Norway (or with modified versions
0025     of Qt that use the same license as Qt), and distribute linked
0026     combinations including the two.  You must obey the GNU General
0027     Public License in all respects for all of the code used other than
0028     Qt.  If you modify this file, you may extend this exception to
0029     your version of the file, but you are not obligated to do so.  If
0030     you do not wish to do so, delete this exception statement from
0031     your version.
0032 */
0033 #pragma once
0034 
0035 #include "messagepart.h"
0036 
0037 namespace KMime
0038 {
0039 class Content;
0040 }
0041 
0042 namespace MimeTreeParser
0043 {
0044 class ObjectTreeParser;
0045 
0046 namespace Interface
0047 {
0048 
0049 class BodyPart;
0050 
0051 class BodyPartFormatter
0052 {
0053 public:
0054     virtual ~BodyPartFormatter() {}
0055 
0056     virtual MessagePart::Ptr process(ObjectTreeParser *otp, KMime::Content *node) const;
0057     virtual QVector<MessagePart::Ptr> processList(ObjectTreeParser *otp, KMime::Content *node) const;
0058 };
0059 
0060 } // namespace Interface
0061 
0062 }