phone_plat/telephony_matching_extension_api/inc/telmatchingextension.h
changeset 0 5f000ab63145
child 69 8baf28733c3d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/telephony_matching_extension_api/inc/telmatchingextension.h	Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2008 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:  Defines interface for manipulating telephony contact matching
+*                using ECOM plugin.
+*
+*/
+
+
+#ifndef TELMATCHINGEXTENSION_H
+#define TELMATCHINGEXTENSION_H
+
+#include <e32base.h>
+#include <badesca.h>
+#include <data_caging_path_literals.hrh>
+
+// Constants used in ECOM implementation
+const TUid KTelMatchingExtensionUid    = { 0x2001E2A4 };
+
+
+/**
+ * Plugin interface class for manipulating telephony
+ * contact matching.
+ *
+ * @since S60 5.0
+ */
+class CTelMatchingExtension : public CBase
+    {
+public:
+
+    /**
+    * Creates new xSP plugin having the given UID.
+    * @leave Uses Leave code KErrNotFound if implementation is not found.
+    * @param aImplementationUid Implementation UID of the plugin to be
+    *        created.
+    */
+    static CTelMatchingExtension* NewL(
+        TUid aImplementationUid );
+
+    /**
+    * Destructor
+    */
+    virtual inline ~CTelMatchingExtension();
+    
+    /**
+    * Initialize CTelMatchingExtension after it is created with NewL.
+    * @param aServiceId - This id identify what service is currently used in call.
+    * @param aOrigAddress - Original address.
+    */
+    virtual void InitializeL( TUint aServiceId, const TDesC& aOrigAddress ) = 0;
+    
+    /**
+    * Returns parsed address to be used in contact matching.
+    * Sets aParsedAddress parameter as empty (KNullDesC) if original number should be used
+    * in contact matching. 
+    * @param aParsedAddress - Address parsed by plugin. This address will be used for matching.
+    * @param aMeaningfulDigits - How many digits (starting from the right) are meaningful for matching.
+    *                            Value of the parameter have to be between 4-20 otherwise the whole
+    *                            of address will be used for matching (e.g. by value 0).
+    *                            If length of the address is less than value of the parameter the whole
+    *                            of address will be used for matching.
+    * @return - Return KErrNone if operation succeed.
+    */
+    virtual TInt GetAddressForMatching( RBuf& aParsedAddress, TInt& aMeaningfulDigits ) = 0;
+
+    /**
+    * Returns contact store uris which are opened and will be used for matching.
+    * @param aStoreUris - Contact store uri array.
+    * @return - Return KErrNone if operation succeed.
+    */
+    virtual TInt GetContactStoreUris( CDesCArray& aStoreUris ) = 0;
+    
+    /**
+    * Returns remote party name (remote party name is shown in the call bubble).
+    * Sets aRemotePartyName parameter as empty (KNullDesC) if remote party name is not available.
+    * Remote party name (aRemotePartyName) will be shown in the call bubble when contact 
+    * matching not succeed.
+    * @param aRemotePartyName - Remote party name.
+    * @return - Return KErrNone if operation succeed.
+    */
+    virtual TInt GetRemotePartyName( RBuf& aRemotePartyName ) = 0;
+
+
+private: // data
+
+    /**
+     * ECOM plugin instance UID.
+     */
+     TUid iDtor_ID_Key;
+
+    };
+
+#include "telmatchingextension.inl"
+
+
+#endif // TELMATCHINGEXTENSION_H
+
+//End of file
+