phoneengine/PhoneCntFinder/ContactService/inc/cphcntvoipcontactmatchstrategy.h
changeset 0 5f000ab63145
--- /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