bodyvisitor.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef bodyiterator_h
00032 #define bodyiterator_h
00033
00034 #include <qptrlist.h>
00035 #include <qstringlist.h>
00036
00037 class KMMessagePart;
00038
00039 namespace KMail {
00040
00041 class AttachmentStrategy;
00042
00043
00044 class BodyVisitor
00045 {
00046 public:
00047 BodyVisitor();
00048 virtual ~BodyVisitor();
00049
00051 void visit( KMMessagePart * part );
00052 void visit( QPtrList<KMMessagePart> & list );
00053
00055 QPtrList<KMMessagePart> partsToLoad();
00056
00059 virtual bool addPartToList( KMMessagePart * part ) = 0;
00060
00061 protected:
00066 static bool parentNeedsLoading( KMMessagePart * part );
00067
00068 protected:
00069 QPtrList<KMMessagePart> mParts;
00070 QStringList mBasicList;
00071 };
00072
00073
00074 class BodyVisitorFactory
00075 {
00076 public:
00077 static BodyVisitor* getVisitor( const AttachmentStrategy* strategy );
00078 };
00079
00080
00081 class BodyVisitorSmart: public BodyVisitor
00082 {
00083 public:
00084 BodyVisitorSmart();
00085
00086 bool addPartToList( KMMessagePart * part );
00087 };
00088
00089
00090 class BodyVisitorInline: public BodyVisitor
00091 {
00092 public:
00093 BodyVisitorInline();
00094
00095 bool addPartToList( KMMessagePart * part );
00096 };
00097
00098
00099 class BodyVisitorHidden: public BodyVisitor
00100 {
00101 public:
00102 BodyVisitorHidden();
00103
00104 bool addPartToList( KMMessagePart * part );
00105 };
00106
00107 }
00108
00109 #endif
This file is part of the documentation for kmail Library Version 3.2.2.