diff -r 238255e8b033 -r 84d9eb65b26f email/pop3andsmtpmtm/imapservermtm/inc/FLDINDEX.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/pop3andsmtpmtm/imapservermtm/inc/FLDINDEX.H Mon May 03 12:29:07 2010 +0300 @@ -0,0 +1,89 @@ +// Copyright (c) 1998-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: +// IMAP Folder indexing header +// +// + +#if !defined(__FLDINDEX_H__) +#define __FLDINDEX_H__ + +#if !defined(__E32STD_H__) +#include +#endif +#if !defined(__E32BASE_H__) +#include +#endif + +// We need this for TMsvId +#include + +// Actual entries stored in the index +class CImImap4IndexEntry:public CBase +/** +@internalComponent +@released +*/ + { +public: + CImImap4IndexEntry(); + CImImap4IndexEntry(CImImap4IndexEntry& aFrom); + + CImImap4IndexEntry& operator=(CImImap4IndexEntry& aFrom); + +public: + TUint32 iUid; + TMsvId iMsvId; + }; + +class CImImap4FolderIndex:public CBase +/** +@internalComponent +@released +*/ + { +public: + CImImap4FolderIndex(); + ~CImImap4FolderIndex(); + + // Clear index + void Reset(); + + // Note number of entries + void SetSizeL(const TUint aEntries); + TInt Size(); + + // Access an entry directly + CImImap4IndexEntry& operator[] (const TInt aIndex); + + // Sort index by UID + void Sort(); + + // Expunge a message + void Expunge(const TUint aMsgNr); + +private: + // Set a UID for a message number + void SetUid(const TUint aMsgNr, const TUint aMsgUid); + + // Set a TMsvId for a message number + void SetMsvId(const TUint aMsgnr, const TMsvId aMsvId); + + // Find a message number + TUint FindMsg(const TUint aMsgUid); + +private: + TInt iSize; + CArrayFix* iIndex; + }; +#endif