--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/PhoneCntFinder/ContactService/inc/cphcntvoipcontactmatchstrategy.h Mon Jan 18 20:18:27 2010 +0200
@@ -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 <e32base.h>
+#include <MVPbkContactFindObserver.h>
+
+#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