phoneengine/contacthandling2/inc/cpecontactmatch.h
branchRCL_3
changeset 61 41a7f70b3818
--- /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 <cntdef.h>
+#include <e32base.h>
+#include <pevirtualengine.h>
+
+// 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