phoneengine/loghandling/src/cpelogevent.cpp
branchRCL_3
changeset 62 5266b1f337bd
parent 61 41a7f70b3818
--- a/phoneengine/loghandling/src/cpelogevent.cpp	Tue Aug 31 15:14:29 2010 +0300
+++ b/phoneengine/loghandling/src/cpelogevent.cpp	Wed Sep 01 12:30:10 2010 +0100
@@ -21,6 +21,7 @@
 #include "cpeloginfo.h"
 #include "cpeloghandling.h"
 #include "cpeloghandlingcommand.h"
+#include <PbkFields.hrh>
 #include <talogger.h>
 #include <logcli.h>
 #include <LogsApiConsts.h>
@@ -306,25 +307,25 @@
     switch ( iLogInfo->PhoneNumberId() )
         {
         case EPEMobileNumber:
-            subject.AppendNum( EPEUnknownNumber );
+            subject.AppendNum( EPbkFieldIdPhoneNumberMobile );
             break;
         case EPETelephoneNumber:
-            subject.AppendNum( EPEUnknownNumber );
+            subject.AppendNum( EPbkFieldIdPhoneNumberGeneral );
             break;
         case EPEPager:
-            subject.AppendNum( EPEUnknownNumber );
+            subject.AppendNum( EPbkFieldIdPagerNumber );
             break;
         case EPEFaxNumber:
-            subject.AppendNum( EPEUnknownNumber );
+            subject.AppendNum( EPbkFieldIdFaxNumber );
             break; 
         case EPEAssistantNumber:
-            subject.AppendNum( EPEUnknownNumber);
+            subject.AppendNum( EPbkFieldIdAssistantNumber);
             break;
         case EPECarNumber:
-            subject.AppendNum( EPEUnknownNumber);
+            subject.AppendNum( EPbkFieldIdCarNumber);
             break;
         default:
-            subject.AppendNum( EPEUnknownNumber );
+            subject.AppendNum( EPbkFieldIdNone );
             break;
         }
 
@@ -657,7 +658,12 @@
     {
     if ( KNullDesC() != aLogInfo.Name() )
         {
-        aEvent.SetRemoteParty( aLogInfo.Name() );
+        // This if clause fixes ou1cimx1#320365 Wrong address shown in received log entry
+        if ( aLogInfo.EventType() != CPELogInfo::EPEVoIPEvent ||
+             KNullDesC() == aEvent.RemoteParty() )
+            {
+            aEvent.SetRemoteParty( aLogInfo.Name() );
+            }
         }
     }
 
@@ -669,18 +675,24 @@
 void CPELogEvent::SetRemoteContact( CLogEvent& aEvent, 
         const CPELogInfo& aLogInfo )
     {
-    if ( KNullDesC() != aLogInfo.PhoneNumber() )
+    if ( KNullDesC() != aLogInfo.PhoneNumber() )      
         {
-        aEvent.SetNumber( aLogInfo.PhoneNumber() );
+        if ( aLogInfo.EventType() != CPELogInfo::EPEVoIPEvent ||
+             ( KNullDesC() == aEvent.Number() &&
+               KErrNotFound == iEvent->Data().Find( KLogsDataFldTag_URL ) ) )
+            {
+            aEvent.SetNumber( aLogInfo.PhoneNumber() );
+            }
         }
     
-    if ( KNullDesC() != aLogInfo.VoipAddress() )
+    else if ( KNullDesC() != aLogInfo.VoipAddress() &&
+              KNullDesC() == aEvent.Number())
         {
         TRAPD( error, SetDataFieldL( KLogsDataFldTag_URL, aLogInfo.VoipAddress() ) );
         if ( error )
             {
             TEFLOGSTRING2( KTAERROR, 
-                "LOG CPELogEvent::SetLogEvent()>SetDataFieldL(), error=%d", error )
+                "LOG CPELogEvent::SetRemoteContact()>SetDataFieldL(), error=%d", error )
             }
         }
     }