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 QCString body(void) const; 00024 void setBody(const QCString &aStr); 00025 00029 void setBodyFromUnicode( const QString & str ); 00030 00033 QString bodyToUnicode(const QTextCodec* codec=0) const; 00034 00038 virtual QByteArray bodyDecodedBinary(void) const; 00039 00042 virtual QCString bodyDecoded(void) const; 00043 00053 virtual void setBodyAndGuessCte(const QByteArray& aBuf, 00054 QValueList<int>& allowedCte, 00055 bool allow8Bit = false, 00056 bool willBeSigned = false); 00058 virtual void setBodyAndGuessCte(const QCString& aBuf, 00059 QValueList<int>& allowedCte, 00060 bool allow8Bit = false, 00061 bool willBeSigned = false); 00062 00065 virtual void setBodyEncodedBinary(const QByteArray& aStr); 00066 00069 virtual void setBodyEncoded(const QCString& aStr); 00070 00072 virtual int decodedSize(void) const; 00073 00077 QCString originalContentTypeStr(void) const { return mOriginalContentTypeStr; } 00078 void setOriginalContentTypeStr( const QCString& txt ) 00079 { 00080 mOriginalContentTypeStr = txt; 00081 } 00082 QCString typeStr() const { return mType; } 00083 void setTypeStr( const QCString & aStr ) { mType = aStr; } 00084 int type() const; 00085 void setType(int aType); 00087 QCString subtypeStr() const { return mSubtype; } 00088 void setSubtypeStr( const QCString & aStr ) { mSubtype = aStr; } 00089 int subtype() const; 00090 void setSubtype(int aSubtype); 00091 00095 void magicSetType(bool autoDecode=TRUE); 00096 00099 QCString parameterAttribute(void) const; 00100 QString parameterValue(void) const; 00101 void setParameter(const QCString &attribute, const QString &value); 00102 00103 QCString additionalCTypeParamStr(void) const 00104 { 00105 return mAdditionalCTypeParamStr; 00106 } 00107 void setAdditionalCTypeParamStr( const QCString &param ) 00108 { 00109 mAdditionalCTypeParamStr = param; 00110 } 00111 00115 QString iconName(const QString &mimeType = QString::null) const; 00116 00120 QCString contentTransferEncodingStr(void) const; 00121 int contentTransferEncoding(void) const; 00122 void setContentTransferEncodingStr(const QCString &aStr); 00123 void setContentTransferEncoding(int aCte); 00124 00127 QCString cteStr(void) const { return contentTransferEncodingStr(); } 00128 int cte(void) const { return contentTransferEncoding(); } 00129 void setCteStr(const QCString& aStr) { setContentTransferEncodingStr(aStr); } 00130 void setCte(int aCte) { setContentTransferEncoding(aCte); } 00131 00132 00134 QString contentDescription() const; 00135 QCString contentDescriptionEncoded() const { return mContentDescription; } 00136 void setContentDescription(const QString &aStr); 00137 00139 QCString contentDisposition() const { return mContentDisposition; } 00140 void setContentDisposition( const QCString & cd ) { mContentDisposition = cd; } 00141 00143 QCString charset() const { return mCharset; } 00144 00146 void setCharset( const QCString & c ) { mCharset = c; } 00147 00149 const QTextCodec * codec() const; 00150 00152 QString name() const { return mName; } 00153 void setName( const QString & name ) { mName = name; } 00154 00157 QString fileName(void) const; 00158 00160 QString partSpecifier() const { return mPartSpecifier; } 00161 00163 void setPartSpecifier( const QString & part ) { mPartSpecifier = part; } 00164 00166 bool isComplete() { return (!mBody.isNull()); } 00167 00169 KMMessagePart* parent() { return mParent; } 00170 00172 void setParent( KMMessagePart* part ) { mParent = part; } 00173 00175 bool loadHeaders() { return mLoadHeaders; } 00176 00178 void setLoadHeaders( bool load ) { mLoadHeaders = load; } 00179 00181 bool loadPart() { return mLoadPart; } 00182 00184 void setLoadPart( bool load ) { mLoadPart = load; } 00185 00186 protected: 00187 QCString mOriginalContentTypeStr; 00188 QCString mType; 00189 QCString mSubtype; 00190 QCString mCte; 00191 QCString mContentDescription; 00192 QCString mContentDisposition; 00193 QByteArray mBody; 00194 QCString mAdditionalCTypeParamStr; 00195 QString mName; 00196 QCString mParameterAttribute; 00197 QString mParameterValue; 00198 QCString mCharset; 00199 QString mPartSpecifier; 00200 mutable int mBodyDecodedSize; 00201 KMMessagePart* mParent; 00202 bool mLoadHeaders; 00203 bool mLoadPart; 00204 }; 00205 00206 00207 #endif /*kmmsgpart_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Jul 28 23:58:03 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003