diff -r e30d4a1b8bad -r c26cc2a7c548 phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactselectionstrategy.h --- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactselectionstrategy.h Wed Sep 15 12:12:21 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -/* -* Copyright (c) 2010 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: Implements contact selection strategy. -* -*/ - - -#ifndef TPHCNTCONTACTSELECTIONSTRATEGY_H_ -#define TPHCNTCONTACTSELECTIONSTRATEGY_H_ - -// System includes -#include -#include - -// Forward declarations -class MVPbkContactLinkArray; -class CVPbkContactStoreUriArray; - -// Constants -const TInt KNoContact = -1; -const TInt KManyContacts = -2; - - -/** - * Implements contact selection strategy. - * - */ -NONSHARABLE_CLASS( TPhCntContactSelectionStrategy ) - { -public: - - /** Defines the options for contact selection strategy */ - enum TAllowSeveralMatches - { - EAllowSingleMatch, - EAllowSeveralMatches - }; - -public: - TPhCntContactSelectionStrategy( ); - -public: - /** - * Sets the contact selection strategy used in conjunction with - * ApplyStrategy -method. - * - * @param aSeveralMatchesAllowed Option for contact selection strategy. - */ - void SetContactSelectionStrategy( TAllowSeveralMatches aSeveralMatchesAllowed ); - - /** - * Returns the selected contact according to strategy. - * If a call to SetContactSelectionStrategy is not made, - * EAllowSingleMatch strategy is applied. - * - * @param aContactLinkArray Array of matching contacts. - * @return index in array of selected contact. - * KNoContact if empty array is passed. - * KNoContact if several matches and EAllowSingleMatch set. - */ - TInt ApplyStrategy( const MVPbkContactLinkArray& aContactLinkArray ); - - /** - * Returns the selected contact if single match from - * additional contact stores is found. - * - * @param aContactLinkArray Array of matching contacts. - * @param aAdditionalStoreUriArray Array of additional contact stores. - * @return index in array of selected contact. - * KNoContact if empty array is passed. - * KManyContacts if several matches. - */ - TInt ApplyAdditonalStoreStrategy( const MVPbkContactLinkArray& aContactLinkArray, - const CVPbkContactStoreUriArray& aAdditionalStoreUriArray ); - -protected: - /** - * Returns the URI of the contact store of the contact. - * - * @param aContactLinkArrayIndex Specifies the contact. - * @return URI of the contact store. - */ - virtual TVPbkContactStoreUriPtr GetContactStoreUri( TInt aContactLinkArrayIndex ); - -private: - TInt ApplySingleMatchStrategy( ); - TInt ApplySeveralMatchesStrategy( ); - -private: - TAllowSeveralMatches iSeveralMatchesAllowed; - - /* Not owned */ - const MVPbkContactLinkArray* iContactLinkArray; - }; - - -#endif /* TPHCNTCONTACTSELECTIONSTRATEGY_H_ */