diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrguicommon/inc/cesmrcontactlinkiterator.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mrguicommon/inc/cesmrcontactlinkiterator.h Wed Mar 31 21:08:33 2010 +0300 @@ -0,0 +1,79 @@ +/* +* Copyright (c) 2008-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: Definition of class CESMRContactLinkIterator. +* +*/ + + +#ifndef CESMRCONTACTLINKITERATOR_H +#define CESMRCONTACTLINKITERATOR_H + +#include +// +#include "mfsccontactlinkiterator.h" +// + +class MVPbkContactLinkArray; + +/** + * Vitual phonebooks's MVPbkContactLink implementation. + */ +NONSHARABLE_CLASS( CESMRContactLinkIterator ) : public CBase, + public MFscContactLinkIterator + { +public: + + /** + * Two-phase constructor. + * + * @return new instance of th class + */ + static CESMRContactLinkIterator* NewL( ); + + /** + * Destructor. + */ + ~CESMRContactLinkIterator( ); + + /** + * Sets link array for iterating. Ownership is transferred. + * + * @param aContactLinkArray contact link array + */ + void SetContactLinkArray( MVPbkContactLinkArray* aContactLinkArray ); + +public: // from MFscContactLinkIteratator + TInt ContactCount( ) const; + TBool HasNextContact( ) const; + MVPbkContactLink* NextContactL( ); + void SetToFirstContact( ); + TInt GroupCount( ) const; + TBool HasNextGroup( ) const; + MVPbkContactLink* NextGroupL( ); + void SetToFirstGroup( ); + +private: + /** + * Private constructor. + */ + CESMRContactLinkIterator( ); + +private: //Data + /// Own: Current link index. + TInt iContactLinkArrayIndex; + /// Own: Contact link array. + MVPbkContactLinkArray* iContactLinkArray; + }; + +#endif