phone_plat/telephony_logging_extension_api/inc/telloggingextension.h
changeset 0 5f000ab63145
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/telephony_logging_extension_api/inc/telloggingextension.h	Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,112 @@
+/*
+* 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 call logging
+*                using ECOM plugin.
+*
+*/
+
+
+#ifndef TELLOGGINGEXTENSION_H
+#define TELLOGGINGEXTENSION_H
+
+#include <e32base.h>
+#include <data_caging_path_literals.hrh>
+
+// Constants used in ECOM implementation
+const TUid KTelLoggingExtensionUid    = { 0x2001E2A2 };
+
+
+/**
+ * Plugin interface class for manipulating telephony
+ * call logging.
+ *
+ * @since S60 5.0
+ */
+class CTelLoggingExtension : 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 CTelLoggingExtension* NewL(
+        TUid aImplementationUid );
+
+    /**
+    * Destructor
+    */
+    virtual inline ~CTelLoggingExtension();
+    
+    /**
+    * Initialize CTelLoggingExtension 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;
+    
+    /**
+    * Gets phone number to be logged to Logs events phone number field.
+    * Sets aPhoneNumber parameter as empty (KNullDesC) if valid phone number is not available.
+    * Phone number have to be valid for GSM calls.
+    * @param aPhoneNumber - Number to be logged to the log events phone number field.  
+    * @return - Return KErrNone if operation succeed.
+    */
+    virtual TInt GetPhoneNumber( RBuf& aPhoneNumber ) = 0;
+
+    /**
+    * Gets VoIP address to be logged to Logs events VoIP address field.
+    * Sets aVoipAddress parameter as empty (KNullDesC) if valid VoIP address is not available.
+    * @param aVoipAddress - Address to be logged to the log events VoIP address field.  
+    * @return - Return KErrNone if operation succeed.
+    */
+    virtual TInt GetVoipAddress( RBuf& aVoipAddress ) = 0;
+    
+    /**
+    * Gets users own address for Logs application.
+    * Sets aMyAddress parameter as empty (KNullDesC) if valid users own address is not available.
+    * My address option will be visible in Logs when this parameter is available.
+    * @param aMyAddress - Address to be shown by Logs application "Show my address"
+    *                     option.  
+    * @return - Return KErrNone if operation succeed.
+    */
+    virtual TInt GetMyAddress( RBuf& aMyAddress ) = 0;
+    
+    /**
+    * Gets remote party name.
+    * Remote party name (returned by plugin) will be shown on the logs event when contact 
+    * matching not succeed nor call was not made as private/anonymous call (MT call, 
+    * private address/number).
+    * @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 "telloggingextension.inl"
+
+#endif // TELLOGGINGEXTENSION_H
+
+