williamr@2: // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@4: // MIUTCONV.H williamr@2: // williamr@2: williamr@4: /** williamr@4: * @file williamr@4: * @publishedAll williamr@4: * @released williamr@4: */ williamr@4: williamr@2: #ifndef __MIUTCONV_H__ williamr@2: #define __MIUTCONV_H__ williamr@2: williamr@2: #include williamr@2: williamr@2: williamr@2: #if !defined (__CHARCONV_H_) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: #if !defined (__MIUTHDR_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: #if !defined (__UTF_H_) williamr@2: #include williamr@2: #endif williamr@2: williamr@4: #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS williamr@4: #include "cimconvertcharconv.h" williamr@4: #endif williamr@2: williamr@2: /** SMTP send methods. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TImSendMethod williamr@2: { williamr@2: /** Simple email. */ williamr@2: ESendAsSimpleEmail, williamr@2: /** MIME email. */ williamr@2: ESendAsMimeEmail williamr@2: }; williamr@2: williamr@2: williamr@2: // Information to be used when sending an email message. williamr@2: // Relating to how parts are encoded and converted. williamr@2: // williamr@2: class TImEmailTransformingInfo williamr@2: /** Encapsulates character conversion and encoding settings for sending SMTP email. williamr@2: williamr@2: The default outcomes for header, body, HTML, and attachment parts respectively williamr@2: for each of the listed categories are given below: williamr@2: williamr@2: Plain Charset: ISO-8859-1,ISO-8859-1,N/A,N/A williamr@2: williamr@2: Plain Encoding:None,None,N/A,UU williamr@2: williamr@2: MIME Charset:UTF8,UTF8,UTF8*,N/A williamr@2: williamr@2: MIME Encoding:B,QP,Base64,Base64 williamr@2: williamr@2: *: the UTF8 value set in the header field, but no conversion is done. The williamr@2: HTML converter converts to UTF8. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C TImEmailTransformingInfo& operator=(const TImEmailTransformingInfo& aInfo); williamr@2: IMPORT_C TBool operator==(const TImEmailTransformingInfo& aInfo); williamr@2: williamr@2: // streaming operations williamr@2: IMPORT_C void ExternalizeL( RWriteStream& aWriteStream ) const; williamr@2: IMPORT_C void InternalizeL( RReadStream& aReadStream ); williamr@2: IMPORT_C void StoreL( CMsvStore& aStore ) const; williamr@2: IMPORT_C void RestoreL( CMsvStore& aStore ); williamr@2: williamr@2: // Setting functions williamr@2: IMPORT_C void SetToDefault(const TImSendMethod aMethod); williamr@2: IMPORT_C void SetSendMethod(const TImSendMethod aMethod); williamr@2: IMPORT_C TImSendMethod SendMethod() const; williamr@2: williamr@2: IMPORT_C void SetHeaderEncodingQ(); williamr@2: IMPORT_C void SetHeaderEncodingB(); williamr@2: IMPORT_C void SetBodyTextEncoding(TImEncodingType aType); williamr@2: IMPORT_C void SetHTMLEncoding(TImEncodingType aType); williamr@2: IMPORT_C void SetAttachmentEncoding(TImEncodingType aType); williamr@2: williamr@2: IMPORT_C void SetHeaderAndBodyCharset(TUint aCharset); williamr@2: IMPORT_C void SetHeaderCharset(TUint aCharset); williamr@2: IMPORT_C void SetBodyTextCharset(TUint aCharset); williamr@2: IMPORT_C void SetHTMLCharset(TUint aCharset); williamr@2: williamr@2: // Accessor functions williamr@2: IMPORT_C TImEncodingType HeaderEncoding() const; williamr@2: IMPORT_C TImEncodingType BodyTextEncoding() const; williamr@2: IMPORT_C TImEncodingType HTMLEncoding() const; williamr@2: IMPORT_C TImEncodingType AttachmentEncoding() const; williamr@2: williamr@2: IMPORT_C TUint HeaderCharset() const; williamr@2: IMPORT_C TUint BodyTextCharset() const; williamr@2: IMPORT_C TUint HTMLCharset() const; williamr@2: williamr@2: private: williamr@2: void SetHeaderEncoding(TImEncodingType aType); williamr@2: williamr@2: private: williamr@2: TImEncodingType iHeaderEncoding; williamr@2: TImEncodingType iBodyEncoding; williamr@2: TImEncodingType iHTMLEncoding; williamr@2: TImEncodingType iAttachmentEncoding; williamr@2: williamr@2: TUint iHeaderCharset; williamr@2: TUint iBodyCharset; williamr@2: TUint iHTMLCharset; williamr@2: TUint iTextAttachmentCharset; williamr@2: williamr@2: TImSendMethod iSendMethod; williamr@2: }; williamr@2: williamr@4: #endif //__MIUTCONV_H__