diff -r 000000000000 -r 8466d47a6819 emailservices/emailframework/commonlib/inc/CFSMailIterator.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/emailframework/commonlib/inc/CFSMailIterator.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,127 @@ +/* +* Copyright (c) 2007-2008 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: email list iterator +* +*/ + + +#ifndef CFSMAILITERATOR_H +#define CFSMAILITERATOR_H + +// INCLUDES +// +#include "MFSMailIterator.h" +#include "CFSMailMessage.h" +// + +/** + * Email framework list iterator. First call should contain NULL id as begin id : + * eg. NextL(TFSMailId(), count, messages); + * + * @lib FSFWCommonLib + * @since S60 v3.1 + */ +class CFSMailIterator : public CBase, public MFSMailIterator + { + +public: + + /** + * Two-phased constructor. + * + * @param aIterator plugin iteraror + * @param aRequestHandler request handler for plugin requests + */ + IMPORT_C static CFSMailIterator* NewL( MFSMailIterator& aIterator, + CFSMailRequestHandler* aRequestHandler ); + + /** + * Two-phased constructor. + * + * @param aIterator plugin iteraror + * @param aRequestHandler request handler for plugin requests + */ + IMPORT_C static CFSMailIterator* NewLC( MFSMailIterator& aIterator, + CFSMailRequestHandler* aRequestHandler ); + + /** + * see MFSMailIterator::NextL + * + */ + IMPORT_C TBool NextL( TFSMailMsgId aCurrentMessageId, + TUint aCount, + RPointerArray& aMessages); + + /** + * see MFSMailIterator::NextL + * + */ + IMPORT_C TBool NextL( const TDesC& aStartWith, + TUint aCount, + RPointerArray& aMessages); + + /** + * see MFSMailIterator::PreviousL + * + */ + IMPORT_C TBool PreviousL( TFSMailMsgId aCurrentMessageId, + TUint aCount, + RPointerArray& aMessages); + + /** + * see MFSMailIterator::PreviousL + * + */ + IMPORT_C TBool PreviousL( const TDesC& aStartWith, + TUint aCount, + RPointerArray& aMessages); + /** + * Destructor. + */ + ~CFSMailIterator(); + +private: + + /** + * Two-phased constructor + */ + void ConstructL( MFSMailIterator& aIterator, + CFSMailRequestHandler* aRequestHandler ); + + /** + * C++ default constructor. + */ + CFSMailIterator(); + + /** + * sets request handler + */ + void SetAsyncRequestHandler(RPointerArray& aMessages); + +private: // data + + /** + * request handler for plugin requests + */ + CFSMailRequestHandler* iRequestHandler; + + /** + * plugin iterator + */ + MFSMailIterator* iIterator; + }; + +#endif // M_FSMAILITERATOR_H + +// End of File