logsui/logsengine/logssymbianos/src/logseventparser.cpp
changeset 4 e52d42f9500c
parent 2 7119b73b84d6
child 15 76d2cf7a585e
--- a/logsui/logsengine/logssymbianos/src/logseventparser.cpp	Fri May 14 15:52:41 2010 +0300
+++ b/logsui/logsengine/logssymbianos/src/logseventparser.cpp	Thu May 27 12:51:53 2010 +0300
@@ -103,6 +103,18 @@
         dest.setDuration(source.Duration());
     }
     
+    LogsEventData* logsEventData = new LogsEventData();
+    if ( logsEventData->parse(source) != 0 ){
+        // Parsing failed, clear event data
+        delete logsEventData;
+        dest.setLogsEventData( 0 );
+    } else {
+        dest.setLogsEventData( logsEventData );  //Ownership transferred
+    }
+    
+    // Resolve event type based on current event data
+    dataChanged |= resolveEventType(dest);
+    
     int currLogId = dest.logId();
     int newLogId = source.Id();
     bool logIdChanged( currLogId != newLogId );
@@ -114,19 +126,7 @@
         dest.mEventState = LogsEvent::EventNotUpdated;
     }
     dest.setLogId( newLogId ); // Store unique identifier
-    
-    LogsEventData* logsEventData = new LogsEventData();
-    if ( logsEventData->parse(source) != 0 ){
-        // Parsing failed, clear event data
-        delete logsEventData;
-        dest.setLogsEventData( 0 );
-    } else {
-        dest.setLogsEventData( logsEventData );  //Ownership transferred
-    }
-    
-    // Resolve event type based on current event data
-    resolveEventType(dest);
-    
+
     eventTypeSpecificParsing(dest);
     
     dest.setDuplicates( 0 );
@@ -140,7 +140,7 @@
 // LogsEventParser::resolveEventType
 // ----------------------------------------------------------------------------
 //
-void LogsEventParser::resolveEventType(LogsEvent& dest)
+bool LogsEventParser::resolveEventType(LogsEvent& dest)
 {
     LogsEvent::LogsEventType type( LogsEvent::TypeVoiceCall );
     if ( dest.mLogsEventData ){
@@ -157,7 +157,7 @@
         }
     }
     LOGS_QDEBUG_2( "LogsEventParser::resolveEventType, type:", type )
-    dest.setEventType( type );
+    return dest.setEventType( type );
 }
 
 // ----------------------------------------------------------------------------