diff -r 7a31f7298d8f -r 0c91f0baec58 crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs --- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs Tue Feb 23 17:05:24 2010 +0200 +++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs Wed Apr 21 09:51:02 2010 +0300 @@ -46,6 +46,8 @@ using CrashItemLib.Crash.Traces; using SymbianStructuresLib.Debug.Trace; using CrashItemLib.Crash.InfoEnvironment; +using ErrorLibrary; +using MobileCrashLib; namespace CrashInfoFilePlugin.PluginImplementations.FileFormat { @@ -76,6 +78,9 @@ //UpTime iUptime = header.UpTime.TotalSeconds; + + // Crash source + iCrashSource = header.CrashSource; } } /** Add romid, timestamp, platform, language and sw version */ @@ -234,7 +239,8 @@ { iProductType = info.ProductType; iProductCode = info.ProductCode.Trim(); - iSerialNumber = info.SerialNumber.Trim(); + iSerialNumber = info.SerialNumber.Trim(); + iProductionMode = info.ProductionMode; } } @@ -334,10 +340,10 @@ CISummarisableEntity primarySummary = aContainer.PrimarySummary; if (primarySummary != null) { - CCrashInfoHashBuilder.TConfiguration config = CCrashInfoHashBuilder.TConfiguration.EDefault; + MobileCrashHashBuilder.TConfiguration config = MobileCrashHashBuilder.TConfiguration.EDefault; try //CCrashInfoHashBuilder.New throws an exception if there's not enough data for hash creation { - CCrashInfoHashBuilder builder = CCrashInfoHashBuilder.New(config, primarySummary); + MobileCrashHashBuilder builder = MobileCrashHashBuilder.New(config, primarySummary); iHash = builder.GetHash(); } catch (Exception e) @@ -503,6 +509,12 @@ CCrashInfoFileUtilities.WriteOutputTags(iPanicCategory, CrashInfoConsts.Kpanic_category, aOutput); } + internal void WritePanicDescription(System.IO.StreamWriter aOutput) + { + string panicDescription = XmlErrorLibrary.GetPanicDescription(iPanicCategory, iPanicID.ToString()); + CCrashInfoFileUtilities.WriteOutputTags(panicDescription, CrashInfoConsts.Kpanic_description, aOutput); + } + internal void WriteLanguage(System.IO.StreamWriter aOutput) { CCrashInfoFileUtilities.WriteOutputTags(iLanguage, CrashInfoConsts.Klanguage, aOutput); @@ -606,6 +618,31 @@ { CCrashInfoFileUtilities.WriteOutputTags(iProductType, CrashInfoConsts.Kproduct_type, aOutput); } + + internal void WriteProductionMode(System.IO.StreamWriter aOutput) + { + if (iProductionMode == 1) + { + CCrashInfoFileUtilities.WriteOutputTags(CrashInfoConsts.Kproduction_mode_value, CrashInfoConsts.Kproduction_mode, aOutput); + } + else if (iProductionMode == 0) + { + CCrashInfoFileUtilities.WriteOutputTags(CrashInfoConsts.Krnd_mode_value, CrashInfoConsts.Kproduction_mode, aOutput); + } + } + + internal void WriteCrashSource(System.IO.StreamWriter aOutput) + { + if (iCrashSource == 1) + { + CCrashInfoFileUtilities.WriteOutputTags(CrashInfoConsts.Kcrash_source_user, CrashInfoConsts.Kcrash_source, aOutput); + } + else if (iCrashSource == 0) + { + CCrashInfoFileUtilities.WriteOutputTags(CrashInfoConsts.Kcrash_source_kernel, CrashInfoConsts.Kcrash_source, aOutput); + } + } + internal void WriteImei(System.IO.StreamWriter aOutput) { CCrashInfoFileUtilities.WriteOutputTags(iImei, CrashInfoConsts.Kimei, aOutput); @@ -838,6 +875,8 @@ private string iProductType = string.Empty; //aka RM-code private string iProductCode = string.Empty; //7-digit HW variant code private string iSerialNumber = string.Empty; //aka PSN + private int? iProductionMode = null; // 1: production mode phone, 0: RnD phone + private int? iCrashSource = null; // 1: crash from user side, 0: from kernel side. private string iPhoneNumber = "NotFound"; private string iImei = string.Empty;