diff -r 000000000000 -r 5f000ab63145 phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactStores.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactStores.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,162 @@ +/* +* Copyright (c) 2006 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: Contact store +* +*/ + + +#ifndef CPHCNTCONTACTSTORES_H +#define CPHCNTCONTACTSTORES_H + +#include +#include +#include +#include "MPhCntContactStores.h" + +class MVPbkContactLink; +class MPhCntContactManager; +class MPhCntContactFetchObserver; + + +/** + * Contact store, where contact can be fetched. + * + * @lib PhoneCntFinder + * @since S60 v3.1 + */ +NONSHARABLE_CLASS( CPhCntContactStores ): + public CBase, + public MPhCntContactStores, + public MVPbkSingleContactOperationObserver + { +public: + + /** + * Static constructor. + * + * @since S60 v3.1 + * @param aContactManager Contact manager. + */ + static CPhCntContactStores* NewL( MPhCntContactManager& aContactManager ); + + /** + * Destructor. + * + * @since S60 v3.1 + */ + ~CPhCntContactStores(); + +// from base class MPhCntContactStores + + /** + * From MPhCntContactStores. + * + * @since S60 v3.1 + * @see MPhCntContactStores + */ + TBool IsRequestActive() const; + + /** + * From MPhCntContactStores. + * + * @since S60 v3.1 + * @see MPhCntContactStores + */ + void CancelRequest(); + + /** + * From MPhCntContactStores. + * + * @since S60 v3.1 + * @see MPhCntContactStores + */ + void FetchContactL( const MVPbkContactLink& aLink, + MPhCntContactFetchObserver& aObserver ); + + /** + * From MPhCntContactStores. + * + * @since S60 v3.1 + * @see MPhCntContactStores + */ + void FetchFirstContactL( const TDesC8& aContactLinks, + MPhCntContactFetchObserver& aObserver ); + + /** + * From MPhCntContactStores. + * + * @since S60 v3.1 + * @see MPhCntContactStores + */ + CVPbkContactLinkArray* CreateContactLinkArrayL( + const TDesC8& aContactLinks ); + +// From base class MVPbkSingeContactOperationObserver + + /** + * From MVPbkSingeContactOperationObserver. + * + * @since S60 v3.1 + * @see MVPbkSingeContactOperationObserver + */ + void VPbkSingleContactOperationComplete( + MVPbkContactOperationBase& aOperation, + MVPbkStoreContact* aContact); + + /** + * From MVPbkSingeContactOperationObserver. + * + * @since S60 v3.1 + * @see MVPbkSingeContactOperationObserver + */ + void VPbkSingleContactOperationFailed( + MVPbkContactOperationBase& aOperation, + TInt aError ); + +protected: + + CPhCntContactStores( MPhCntContactManager& aContactManager ); + + void ConstructL(); + +private: + + /** + * Handle to virtual phonebook. + * Not Own. + */ + MPhCntContactManager& iContactManager; + + /** + * Contact fetch operation observer. + * Not own. + */ + MPhCntContactFetchObserver* iContactFetchObserver; + + /** + * Contact operation + * Own + */ + MVPbkContactOperationBase* iRetrieveContactOperation; + + /** + * Link is stored here during the fetch. + * Own. + */ + MVPbkContactLink* iLink; + + }; + + +#endif // CPHCNTCONTACTSTORES_H \ No newline at end of file