diff -r 000000000000 -r 72b543305e3a email/pop3andsmtpmtm/clientmtms/inc/timrfc822datefield.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/pop3andsmtpmtm/clientmtms/inc/timrfc822datefield.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,124 @@ +// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// timrfc822datefield.h +// + +/** + * @file + * @internal + * @released + */ + +#ifndef __TIMRFC822DATEFIELD_H__ +#define __TIMRFC822DATEFIELD_H__ + +#include // KUidMsvEmailTextEntryValue + +/** + * Identifies which version of CImHeader has been stored in stream + * @internalComponent + * @released + */ +const TUint16 KImHeaderVersion = 2; + +/** + * @internalTechnology + * @released + */ +const TUid KUidMsvEmailTextEntry = {KUidMsvEmailTextEntryValue}; +const TUid KUidMsvEmailHtmlEntry = {KUidMsvEmailHtmlEntryValue}; + +/** + * @internalComponent + * @released + */ +const TUid KUidMsvEmailExternalBodyEntry = {KUidMsvEmailExternalBodyEntryValue}; +const TUid KUidMsvEmailRtfEntry = {KUidMsvEmailRtfEntryValue}; + +/** + * @internalComponent + * @released + */ +_LIT8(KMiutDateFormat, " %S, %2d %S %04d %02d:%02d:%02d "); +_LIT8(KMiutMonthNames, "JanFebMarAprMayJunJulAugSepOctNovDec"); +_LIT8(KMiutDayNames, "MonTueWedThuFriSatSun"); +_LIT8(KMiutTimeZoneNeg, "-%02d%02d"); +_LIT8(KMiutTimeZonePos, "+%02d%02d"); +_LIT8(KMiutBase64String, "Base64"); +_LIT8(KMiutQPString, "quoted-printable"); +_LIT8(KMiut7BitString, "7bit"); +_LIT8(KMiut8BitString, "8bit"); +_LIT8(KMiutBinaryString, "binary"); +_LIT8(KMiutUUString, "uuencode"); +_LIT8(KMiutWildcardBase64, "*base64*"); +_LIT8(KMiutWildcardQP, "*quoted-printable*"); +_LIT8(KMiutWildcard7Bit, "*7bit*"); +_LIT8(KMiutWildcard8Bit, "*8bit*"); +_LIT8(KMiutWildcardBinary, "*binary*"); +_LIT8(KMiutWildcardUU, "*uu*"); +_LIT(KMiutFormatString, "%S"); + +/** + * @internalTechnology + * @released + */ +_LIT(KImEngineResourceFile, "\\resource\\messaging\\imcm.rsc"); + +/** + * @internalComponent + * @released + */ +const TInt KMiutDateStringLength = 32; +const TInt KCenturyThreshold = 100; +const TInt KCenturyOffset = 70; +const TInt KThisCentury = 1900; // as defined in 1998 +const TInt KNextCentury = 2000; + +/** + * @internalComponent + * @released + */ +const TInt KMaxImMimeFieldLength = 1000; +const TInt KImMailMaxBufferSize = 1000; // 1000 is defined by the SMTP spec as max space +const TInt KSmtpMaxBufferExcludingCRLF = 979; // Line length limit is 1000 chars per line including CRLF (RFC2822, Section 2.1.1) + // 1000 chars including "Field name: "+"Field body"+CRLF (here "Resent-Message-ID: " is largest field) +/** + * Maximum size for descriptors stored in HBufC members of CImHeader = 1000 chars + * @internalTechnology + * @released + */ +const TInt KMaxImHeaderStringLength = 1000; + +/** + * @internalComponent + * @released + */ +void CopyArrayL(const CDesCArray& aSource, CDesCArray& aDestination); + +class TImRfc822DateField +/** +@internalTechnology +@released +*/ + { +public: + IMPORT_C TInt ParseDateField(const TDesC8& aRfc822DateField, TTime& rTime); + IMPORT_C void SetDate(const TTime& aTimeDate, TDes8& rOutputLine); // NB assumes that "Date: " string has already been inserted into rOutputLine + +private: + TBool GetMonth( const TDesC8& name, TMonth& month ); + TBool GetTimezone( const TDesC8& name, TInt& minsOffset ); + }; + +#endif //__TIMRFC822DATEFIELD_H__