00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KMIME_CONTENT_P_H
00021 #define KMIME_CONTENT_P_H
00022
00023
00024
00025 #include <boost/shared_ptr.hpp>
00026
00027 namespace KMime {
00028 class Message;
00029 typedef boost::shared_ptr<Message> MessagePtr;
00030 }
00031
00032 namespace KMime {
00033
00034 class ContentPrivate
00035 {
00036 public:
00037 ContentPrivate( Content *q )
00038 : forceDefaultCS( false ), parent( 0 ), frozen( false )
00039 , q_ptr( q )
00040 {
00041 defaultCS = KMime::cachedCharset( "ISO-8859-1" );
00042 }
00043
00044 virtual ~ContentPrivate()
00045 {
00046 qDeleteAll( multipartContents );
00047 multipartContents.clear();
00048 }
00049
00050 bool parseUuencoded();
00051 bool parseYenc();
00052 bool parseMultipart();
00053 Headers::Generic *nextHeader( QByteArray &head );
00054 void clearBodyMessage();
00055
00056
00057
00058
00059 Content::List contents() const;
00060
00061 QByteArray head;
00062 QByteArray body;
00063 QByteArray frozenBody;
00064 QByteArray defaultCS;
00065 bool forceDefaultCS;
00066 Content *parent;
00067 bool frozen;
00068
00069 Content::List multipartContents;
00070 MessagePtr bodyAsMessage;
00071
00072 Content* q_ptr;
00073 Q_DECLARE_PUBLIC( Content )
00074 };
00075
00076 }
00077
00078
00079
00080 #endif