kmail Library API Documentation

kmmsgpart.h

00001 /* part of a mime multi-part message 00002 * Author: Stefan Taferner <taferner@alpin.or.at> 00003 */ 00004 #ifndef kmmsgpart_h 00005 #define kmmsgpart_h 00006 00007 #include <qstring.h> 00008 #include <qcstring.h> 00009 #include <qdict.h> 00010 00011 template <typename T> 00012 class QValueList; 00013 class QTextCodec; 00014 00015 class KMMessagePart 00016 { 00017 public: 00018 KMMessagePart(); 00019 KMMessagePart( QDataStream & stream ); 00020 virtual ~KMMessagePart(); 00021 00023 void clear(); 00024 00026 QCString body(void) const; 00027 void setBody(const QCString &aStr); 00028 00032 void setBodyFromUnicode( const QString & str ); 00033 00036 QString bodyToUnicode(const QTextCodec* codec=0) const; 00037 00041 virtual QByteArray bodyDecodedBinary(void) const; 00042 00045 virtual QCString bodyDecoded(void) const; 00046 00056 virtual void setBodyAndGuessCte(const QByteArray& aBuf, 00057 QValueList<int>& allowedCte, 00058 bool allow8Bit = false, 00059 bool willBeSigned = false); 00061 virtual void setBodyAndGuessCte(const QCString& aBuf, 00062 QValueList<int>& allowedCte, 00063 bool allow8Bit = false, 00064 bool willBeSigned = false); 00065 00068 virtual void setBodyEncodedBinary(const QByteArray& aStr); 00069 00072 virtual void setBodyEncoded(const QCString& aStr); 00073 00075 virtual int decodedSize(void) const; 00076 00080 QCString originalContentTypeStr(void) const { return mOriginalContentTypeStr; } 00081 void setOriginalContentTypeStr( const QCString& txt ) 00082 { 00083 mOriginalContentTypeStr = txt; 00084 } 00085 QCString typeStr() const { return mType; } 00086 void setTypeStr( const QCString & aStr ) { mType = aStr; } 00087 int type() const; 00088 void setType(int aType); 00090 QCString subtypeStr() const { return mSubtype; } 00091 void setSubtypeStr( const QCString & aStr ) { mSubtype = aStr; } 00092 int subtype() const; 00093 void setSubtype(int aSubtype); 00094 00098 void magicSetType(bool autoDecode=TRUE); 00099 00102 QCString parameterAttribute(void) const; 00103 QString parameterValue(void) const; 00104 void setParameter(const QCString &attribute, const QString &value); 00105 00106 QCString additionalCTypeParamStr(void) const 00107 { 00108 return mAdditionalCTypeParamStr; 00109 } 00110 void setAdditionalCTypeParamStr( const QCString &param ) 00111 { 00112 mAdditionalCTypeParamStr = param; 00113 } 00114 00118 QString iconName(const QString &mimeType = QString::null) const; 00119 00123 QCString contentTransferEncodingStr(void) const; 00124 int contentTransferEncoding(void) const; 00125 void setContentTransferEncodingStr(const QCString &aStr); 00126 void setContentTransferEncoding(int aCte); 00127 00130 QCString cteStr(void) const { return contentTransferEncodingStr(); } 00131 int cte(void) const { return contentTransferEncoding(); } 00132 void setCteStr(const QCString& aStr) { setContentTransferEncodingStr(aStr); } 00133 void setCte(int aCte) { setContentTransferEncoding(aCte); } 00134 00135 00137 QString contentDescription() const; 00138 QCString contentDescriptionEncoded() const { return mContentDescription; } 00139 void setContentDescription(const QString &aStr); 00140 00142 QCString contentDisposition() const { return mContentDisposition; } 00143 void setContentDisposition( const QCString & cd ) { mContentDisposition = cd; } 00144 00146 QCString charset() const { return mCharset; } 00147 00149 void setCharset( const QCString & c ); 00150 00152 const QTextCodec * codec() const; 00153 00155 QString name() const { return mName; } 00156 void setName( const QString & name ) { mName = name; } 00157 00160 QString fileName(void) const; 00161 00163 QString partSpecifier() const { return mPartSpecifier; } 00164 00166 void setPartSpecifier( const QString & part ) { mPartSpecifier = part; } 00167 00169 bool isComplete() { return (!mBody.isNull()); } 00170 00172 KMMessagePart* parent() { return mParent; } 00173 00175 void setParent( KMMessagePart* part ) { mParent = part; } 00176 00178 bool loadHeaders() { return mLoadHeaders; } 00179 00181 void setLoadHeaders( bool load ) { mLoadHeaders = load; } 00182 00184 bool loadPart() { return mLoadPart; } 00185 00187 void setLoadPart( bool load ) { mLoadPart = load; } 00188 00189 protected: 00190 QCString mOriginalContentTypeStr; 00191 QCString mType; 00192 QCString mSubtype; 00193 QCString mCte; 00194 QCString mContentDescription; 00195 QCString mContentDisposition; 00196 QByteArray mBody; 00197 QCString mAdditionalCTypeParamStr; 00198 QString mName; 00199 QCString mParameterAttribute; 00200 QString mParameterValue; 00201 QCString mCharset; 00202 QString mPartSpecifier; 00203 mutable int mBodyDecodedSize; 00204 KMMessagePart* mParent; 00205 bool mLoadHeaders; 00206 bool mLoadPart; 00207 }; 00208 00209 00210 #endif /*kmmsgpart_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 21 19:46:50 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003