// IMCVTEXT.H
//
// Copyright (c) 1998 Symbian Ltd.  All rights reserved. 
//

// string constants for IMCV
// These are needed to prevent the 'Initialised data' problem in ARM builds

#if !defined (__IMCVTEXT_H__)
#define __IMCVTEXT_H__

// The strings in this file MUST NOT BE translated....

const KMaxPriorityTextLength = 18;	// "*special-delivery*" = 18 chars
const KImcvDateStringLength = 32;

//Includes length of charset name ISO_8859-1
const KNarrowBuildMinEncodedChars = 15;

//----------------------------------------------------------------------------------------
// General tokens
#define KImcvEpoc32						_L8("EPOC32")
#define KImcvIMCV						_L("IMCV")
#define KImcvEmptyString				_L8("")
#define KImcvSpace						_L8(" ")
#define KImcvCommaSpace					_L8(", ")
#define KImcvForwardSlash				_L8("/")
#define KImcvCRLF						_L8("\r\n")
#define KImcvDateFormat					_L(" %S, %2d %S %04d %02d:%02d:%02d ")
#define KImcvMonthNames					_L("JanFebMarAprMayJunJulAugSepOctNovDec")
#define KImcvDayNames					_L("MonTueWedThuFriSatSun")
#define KImcvUnknown					_L8("unknown")
#define KImcvTimeZoneNeg				_L("-%02d%02d")
#define KImcvTimeZonePos				_L("+%02d%02d")
//----------------------------------------------------------------------------------------
// Message header tokens
#define KImcvFromPrompt					_L8("From:")
#define KImcvReplyToPrompt				_L8("Reply-to:")
#define KImcvToPrompt					_L8("To:")
#define KImcvCcPrompt					_L8("Cc:")
#define KImcvBccPrompt					_L8("Bcc:")
#define KImcvSubjectPrompt				_L8("Subject:")
#define KImcvDatePrompt					_L8("Date:")
#define KImcvMessageIdPrompt			_L8("Message-ID:")
#define KImcvXMailer					_L8("X-Mailer:")

#define KImcvPriorityPrompt				_L8("Priority:")
#define KImcvXPriorityPrompt			_L8("X-Priority:")
#define KImcvPrecedencePrompt			_L8("Precedence:")
#define KImcvImportancePrompt			_L8("Importance:")

#define KImcvReturnReceiptToPrompt		_L8("Return-Receipt-To:")

#define KPrecedenceSpecialDelivery		_L8("*special-delivery*")
#define KPrecedenceFirstClass			_L8("*first-class*")
#define KPrecedenceList					_L8("*list*")
#define KPrecedenceBulk					_L8("*bulk*")
#define KPrecedenceJunk					_L8("*junk*")

#define KImportanceLow					_L8("*low*")
#define KImportanceLowest				_L8("*Lowest*")
#define KImportanceNormal				_L8("*normal*")
#define KImportanceHigh					_L8("*high*")
#define KImportanceHighest				_L8("*Highest*")

#define KImPriorityUrgent				_L8("*urgent*")
#define KImPriorityNormal				_L8("*normal*")
#define KImPriorityNonUrgent			_L8("*non-urgent*")
#define KImPrioritySendHigh				_L8("high")
#define KImPrioritySendLow				_L8("low")
//----------------------------------------------------------------------------------------
// MIME header tokens
#define KImcvSpMimeVersion				_L8(" 1.0")
#define KImcvMimeVersion				_L8("1.0")
#define KImcvTextPlain					_L8(" text/plain")
#define KImcvMultipartMixed				_L8(" multipart/mixed")
#define KImcvTextDirectory				_L8(" text/directory")
#define KImcvQuotedPrintable   			_L8(" quoted-printable")
#define KImcvApplOctet		   			_L8(" application/octet-stream")
#define KImcv7Bit						_L8(" 7-bit")
#define KImcvBase64						_L8(" base64")
#define KImcvMime						_L8("MIME*")
#define KImcvContent					_L8("Content*")
#define KImcvMimeBoundaryStart			_L8("--")

#define KImcvMimePrompt					_L8("MIME-Version:")
#define KImcvContentType				_L8("Content-Type:")
#define KImcvContentTransferEncoding	_L8("Content-Transfer-Encoding:")
#define KImcvContentDisposition			_L8("Content-Disposition:")
#define KImcvContentDescription			_L8("Content-Description:")
#define KImcvContentLocation			_L8("Content-Location:")
#define KImcvContentId					_L8("Content-Id:")
#define KImcvContentBase				_L8("Content-Base:")
#define KImcvContentLanguage			_L8("Content-Language:")
#define KImcvDefaultLanguage			_L8(" i-default")

// MIME Parameter names 
#define KImcvMimeDispositionFilename	_L8("filename")
#define KImcvMimeTypeName				_L8("name")
#define KImcvBoundary					_L8("boundary")
#define KImcvCharset					_L8("charset")
#define KImcvStartPart					_L8("start")
// Content-Disposition: types
#define KImcvInline						_L8("inline")
#define KImcvAttachment					_L8("attachment")
// Content-Type: types
#define KImcvMultipart					_L8("multipart")
#define KImcvText						_L8("text")
#define KImcvImage						_L8("image")
#define KImcvAudio						_L8("audio")
#define KImcvVideo						_L8("video")
#define KImcvApplication				_L8("application")
#define KImcvMessage					_L8("message")
// Content-Type: Multipart types
#define KImcvMixed						_L8("mixed")
#define KImcvRelated					_L8("related")
#define KImcvAlternative				_L8("alternative")
#define KImcvEncrypted					_L8("encrypted")
#define KImcvParallel					_L8("parallel")
#define KImcvDigest						_L8("digest")
#define KImcvSigned						_L8("signed")
// Content-Type: Text types
#define KImcvHtml						_L8("html")
#define KImcvPlain						_L8("plain")
#define KImcvDirectory					_L8("directory")
// Content-Type: Message types
#define KImcvPartial					_L8("partial")
#define KImcvExternal					_L8("external-body")
#define KImcvRfc822						_L8("rfc822")
// Content-Type: Directory types
#define KImcvProfile					_L8("profile")
#define KImcvVCard						_L8("vcard")
#define KImcvVCalender					_L8("vcalendar")
// Content-Type: Image, Audio, Video, Application types
#define KImcvBmp						_L8("bmp")
#define KImcvGif						_L8("gif")
#define KImcvJpeg						_L8("jpeg")
#define KImcvTiff						_L8("tiff")
#define KImcvWav						_L8("wav")
#define KImcvZip						_L8("x-gzip")
//----------------------------------------------------------------------------------------
// UU Encoding tokens
#define KImcvUueStart					_L8("begin ")
#define KImcvUue644						_L8("644")
#define KImcvUueEnd						_L8("end\r\n")
#define KImcvUueLastLine				_L8("`\r\n")

#define KImcvXUUString					_L8("X-UUENCODE")
//----------------------------------------------------------------------------------------
// QP Encoding tokens
#define KImcvEndOfLine					_L8("=\r\n")
#define KImcvQPFormatString				_L8("=%02X\r\n")
#define KImcvQPEqualsSign				_L8("=3D")
#define KImcvQPEncoded					_L8("=%02X")
#define KImcvParagraph					_L8("\006")
#define KImcvCharacterFormat			_L8("%c")
#define KImcvUndisplayableChar			_L8("?")

#define KImcvEncodedWordStart			_L8("=?")
#define KImcvEncodedWordEnd				_L8("?=")
#define KImcvQuestionMarkString			_L8("?")
#define KImcvB							_L8("B")
#define KImcvQ							_L8("Q")

#define KCharsetUsAscii					_L8("us-ascii")
#define KCharsetUnicodeBuild			_L8("unicode-1-1") // Which version
#define KCharsetUTF7					_L8("UTF-7")
#define KCharsetUTF8					_L8("UTF-8")
#define KCharsetModUTF7					_L8("MOD-UTF-7")

// Treated as equivalent  with CodePage1252 
#define KCharsetISO88591				_L8("ISO-8859-1")

#if defined(_UNICODE)
	#define KCurrentCharset				KCharsetUTF8
#else if
	#define KCurrentCharset				KCharsetISO88591
#endif

// UIDS



const TUint8 KImcvSpaceChar		= ' ';
const TUint8 KImcvCR			= '\r';
const TUint8 KImcvLF			= '\n';
const TUint8 KImcvSP			= ' ';
const TUint8 KImcvTab			= '\t';
const TUint8 KImcvAny			= '*';
const TUint8 KImcvEquals		= '=';
const TUint8 KImcvHyphen		= '-';
const TUint8 KImcvUnderScore	= '_';
const TUint8 KImcvLeftBracket	= '(';
const TUint8 KImcvRightBracket	= ')';
const TUint8 KImcvLeftChevron	= '<';
const TUint8 KImcvRightChevron	= '>';
const TUint8 KImcvDoubleQuote	= '\"';
const TUint8 KImcvDefaultChar	= '_';	// inserted into filename in place of illegal EPOC32 filename char
const TUint8 KImcvComma			= ',';
const TUint8 KImcvSemiColon		= ';';
const TUint8 KImcvColon			= ':';
const TUint8 KImcvPlus			= '+';
const TUint8 KImcvBackSlash		= '\\';
const TUint8 KImcvQuote			= '"';
const TUint8 KImcvSingleQuote	= '\'';
const TUint8 KImcvInvertedComma = '`';
const TUint8 KImcvTilde			= '~';
const TUint8 KImcvQuestionMark	= '?';
const TUint8 KImcvAt			='@';
const TUint8 KImcvFullStop		='.';
const TUint8 KImcvPercentSign	= '%';

#endif
