// Copyright (c) 2003-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:
//
#if !defined (__IM_CLT_CV_RECV_H__)
#define __IM_CLT_CV_RECV_H__
#include <msvapi.h>
#include "Local_imcvrecv.h"
class CImCltRecvConvert : public CLocalImRecvConvert
/**
@internalTechnology
@released
*/
{
friend class CLocalMimeParser;
public:
/*IMPORT_C*/ static CImCltRecvConvert* NewLC( RFs& anFs,CMsvEntry* aClientEntry,TUid aMsgType,TMsvId aEmailServiceId);
/*IMPORT_C*/ static CImCltRecvConvert* NewL( RFs& anFs,CMsvEntry* aClientEntry,TUid aMsgType,TMsvId aEmailServiceId);
/*IMPORT_C*/ ~CImCltRecvConvert();
/*IMPORT_C*/ void ResetL();
/*IMPORT_C*/ void ResetForHeadersL();
/*IMPORT_C*/ TInt ParseNextFieldL(const TDesC8& aSourceLine);
/*IMPORT_C*/ TMsvId MessageCompleteL();
/*IMPORT_C*/ void MessageCompleteL(TMsvEmailEntry aEmailEntry);
/*IMPORT_C*/ TMsvEmailEntry MessageEntryDetailsL();
inline void SetMsvId(TMsvId aId);
inline CMsvEntry& ClientEntry();
inline const TMsvId EntryId() const;
private:
CImCltRecvConvert(RFs& anFs,CMsvEntry* aClientEntry,TUid aMsgType,TMsvId aEmailServiceId);
void ConstructL(RFs& anFs);
void ParseNextLineL(const TDesC8& aSourceLine);
void ParseBodyLineL(const TDesC8& aSourceLine);
void ParseMimeLineL(const TDesC8& aSourceLine);
void EndOfHeaderProcessingL();
TBool CreateNonMIMEFolderEntryL(TMsvId aCurrentId);
TInt Value(const TUint8*&);
void Whitespace(const TUint8*&);
TBool CreateAttachmentL();
void WriteToAttachmentL(const TDesC8& text);
void MoveUpFromFolderEntryL();
void MoveToParentEntryL();
void UpdateMultipartDataL();
TBool StoreEntryDataL();
void StoreEntryStreamsL();
void StoreEntryStreamsL(TInt aSettings);
void CreateEntryL();
void StoreMessageEntryDetailsL();
private:
CMsvEntry* iClientEntry;
CMsvServerEntry* iNullServerEntry;
};
#include "ImCltCvRecv.inl"
#endif