diff -r 41a7f70b3818 -r 5266b1f337bd phoneengine/PhoneCntFinder/ContactService/inc/cphcntvoipcontactmatchstrategy.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntvoipcontactmatchstrategy.h Wed Sep 01 12:30:10 2010 +0100 @@ -0,0 +1,121 @@ +/* +* 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: Finds voip contacts from phonebook +* +*/ + + +#ifndef CPHCNTVOIPCONTACTMATCHSTRATEGY +#define CPHCNTVOIPCONTACTMATCHSTRATEGY + +#include +#include + +#include "mphcntcontactmatchstrategy.h" + +class MPhCntVoipContactFinder; +class MVPbkContactOperationBase; + +/** + * Finds voip contacts from phonebook + * + * @lib PhoneCntFinder + * @since S60 v3.1 + */ +NONSHARABLE_CLASS( CPhCntVoipContactMatchStrategy ): + public CBase, + public MPhCntContactMatchStrategy, + private MVPbkContactFindObserver + { +public: + + static CPhCntVoipContactMatchStrategy* NewL( + MPhCntVoipContactFinder& aVoipContactFinder, + MVPbkContactFindObserver& aObserver ); + + static CPhCntVoipContactMatchStrategy* NewLC( + MPhCntVoipContactFinder& aVoipContactFinder, + MVPbkContactFindObserver& aObserver ); + + virtual ~CPhCntVoipContactMatchStrategy(); + +// from base class MPhCntContactMatchStrategy + + /** + * From base class MPhCntContactMatchStrategy + * Starts finding contacts, which contact field matches with aMatchString. + * + * @since S60 v3.1 + * @param aMatchString String which is matched against contact fields. + */ + void FindMatchesL( const TDesC& aMatchString ); + +private: + + CPhCntVoipContactMatchStrategy( + MPhCntVoipContactFinder& aVoipContactFinder, + MVPbkContactFindObserver& aObserver ); + + void ConstructL(); + +// from base class MVPbkContactFindObserver + + /** + * From base class MVPbkContactFindObserver + * Called when find is complete. Callee takes ownership of the results. + * In case of an error during find, the aResults may contain only + * partial results of the find. + * + * @since S60 v3.1 + * @param aResults Array of contact links that matched the find. + * Callee must take ownership of this object in + * the start of the function, ie. in case the function + * leaves the results must be destroyed. The find + * operation can be destroyed at the end of this callback. + */ + void FindCompleteL( MVPbkContactLinkArray* aResults ); + + /** + * From base class MVPbkContactFindObserver + * Called in case the find fails for some reason. The find operation + * can be destroyed at the end of this callback. + * + * @Since S60 v3.1 + * @param aError One of the system wide error codes. + * KErrNotReady if store is not ready (not open or unavailable). + */ + void FindFailed( TInt aError ); + +private: // data + + /** + * Voip contact finder. + * Not own. + */ + MPhCntVoipContactFinder& iVoipContactFinder; + + /** + * Find operation. + * Own. + */ + MVPbkContactOperationBase* iFindOperation; + + /** + * Observer of the operation. + * Not own. + */ + MVPbkContactFindObserver& iObserver; + + }; +#endif // CPHCNTVOIPCONTACTMATCHSTRATEGY