diff -r 40a3f856b14d -r 41a7f70b3818 phoneengine/contacthandling2/inc/cpecontactmatch.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/contacthandling2/inc/cpecontactmatch.h Tue Aug 31 15:14:29 2010 +0300 @@ -0,0 +1,168 @@ +/* +* Copyright (c) 2009 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: Contact match class +* +*/ + +#ifndef CPECONTACTMATCH_H +#define CPECONTACTMATCH_H + +// INCLUDES +#include +#include +#include + +// CONSTANTS +// Number of languages that use lastname-firstname order +const TInt KPENumberOfSwappedLanguages = 7; + +// Languages which use lastname-firstname order +const TLanguage KPESwappedLanguages[ KPENumberOfSwappedLanguages ] = + { + ELangHungarian, // 17 + ELangTaiwanChinese, // 29 + ELangHongKongChinese, // 30 + ELangPrcChinese, // 31 + ELangJapanese, // 32 + ELangKorean, // 65 + ELangVietnamese // 96 + }; + +// FORWARD DECLARATIONS +class CPEContactHandling; +class CPhCntContactId; +class CPhCntFactory; +class MPEDataStore; +class MPhCntMatch; +class CPhCntMatcher; +class MPESimContactMatch; + +// CLASS DECLARATION + +/** +* Container for all Contact Handling owned instances of Phone Contact Finder +*/ +class CPEContactMatch + : public CBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aOwner, handle to contact handling interface / owner of this class + * @param aDataStore, handle to internal engine info interface + * @return an instance of class CPEContactMatch + */ + IMPORT_C static CPEContactMatch* NewL( + CPEContactHandling& aOwner, + MPEDataStore& aDataStore ); + + /** + * Destructor. + */ + ~CPEContactMatch(); + + public: // New functions + + /** + * Synchronous method for finding contact data specified with aContactId + * @param aCallId, the call this contact is associated with + * @return None + */ + void MatchWithContactIdL( const TInt aCallId ); + + /** + * Search contact information synchronously matching with aPhoneNumber + * @param aCallId, the call this contact is associated with + * @return None (leaves with KErrNotFound if no match found or db in use) + */ + void MatchWithNumberL( const TInt aCallId ); + + /** + * Returns contact picture data and call id association + * NOTE! Ownership of the picture is transfered to caller. + * @return contact thumbnail, equals NULL if not found + */ + CFbsBitmap* ContactThumbnail(); + + private: + + /** + * C++ constructor. + */ + CPEContactMatch( + CPEContactHandling& aOwner, + MPEDataStore& aDataStore ); + + /** + * Symbian OS constructor. + */ + void ConstructL(); + + /** + * Copies contact information to remote info struct + * @param aMatch a contact item + * @param aCallId, the call this contact is associated with + */ + void CopyContactFieldsDataL( + const MPhCntMatch& aMatch, + const TInt aCallId ); + + + /** + * Creates contact id. + */ + CPhCntContactId* CreateContactIdL( const TDesC8& aContactId ); + + /** + * Creates contact id. + */ + CPhCntContactId* CreateContactIdL( TContactItemId aContactId ); + + /** + * Starts loading thumbnail image + * @param aContactId contact item with the desired thumbnail + * @param aCallId call id for identifying which thumbnail is loaded + * @return Symbian OS error code + */ + TInt LoadThumbnail( const CPhCntContactId& aContactId, const TInt aCallId ); + + + + private: // Data + + // Handle to contact handling interface / owner of this class + CPEContactHandling& iOwner; + + // Handle to internal engine info interface + MPEDataStore& iDataStore; + + // Owned: library + RLibrary iLibrary; + + // Owned: contact factory + CPhCntFactory* iContactFactory; + + // Owned: contact matcher + CPhCntMatcher* iContactMatcher; + + // Owned: sim contact matcher + MPESimContactMatch* iSimContactMatcher; + + + }; + +#endif // CPECONTACTMATCH_H + +// End of File