--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchcontact.cpp Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,130 @@
+/*
+* 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: Matches contact
+*
+*/
+
+#include <talogger.h>
+
+#include <MVPbkContactLinkArray.h>
+
+#include "cphcntmatchcontact.h"
+#include "mphcntcontactmatchstrategy.h"
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CPhCntMatchContact::CPhCntMatchContact( )
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// Secondphase constructor
+// ---------------------------------------------------------------------------
+//
+void CPhCntMatchContact::ConstructL()
+ {
+ BaseConstructL();
+ }
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CPhCntMatchContact* CPhCntMatchContact::NewL()
+ {
+ CPhCntMatchContact* self = CPhCntMatchContact::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CPhCntMatchContact* CPhCntMatchContact::NewLC()
+ {
+ CPhCntMatchContact* self = new( ELeave ) CPhCntMatchContact;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CPhCntMatchContact::~CPhCntMatchContact()
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// Matches the contact.
+// ---------------------------------------------------------------------------
+//
+TInt CPhCntMatchContact::MatchContact(
+ const MVPbkContactLinkArray*& aContactLinkArray,
+ const TDesC& aTelNumber,
+ MPhCntContactMatchStrategy& aMatchStrategy )
+ {
+ TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatchContact::MatchContact" );
+
+ iMatchStrategy = &aMatchStrategy;
+ iPhoneNumber.Set( aTelNumber );
+ TInt error = MakeAsyncRequest();
+
+ if( !error )
+ {
+ if( iFetchedContactLinks )
+ {
+ const TInt numberOfFoundContactLinks(
+ iFetchedContactLinks->Count() );
+ if( numberOfFoundContactLinks == 0 )
+ {
+ error = KErrNotFound;
+ }
+ else
+ {
+ aContactLinkArray = iFetchedContactLinks;
+ }
+ }
+ else
+ {
+ error = KErrNotFound;
+ }
+ }
+
+ if( error )
+ {
+ delete iFetchedContactLinks;
+ iFetchedContactLinks = NULL;
+ }
+
+ return error;
+ }
+
+// ---------------------------------------------------------------------------
+// From class CPhCntAsynctToSync.
+// Makes the asynchronous request to find matches for phone number.
+// ---------------------------------------------------------------------------
+//
+void CPhCntMatchContact::DoMakeAsyncRequestL()
+ {
+ iMatchStrategy->FindMatchesL( iPhoneNumber );
+ }