crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlFileDocument.cs
changeset 3 045ade241ef5
parent 2 0c91f0baec58
--- a/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlFileDocument.cs	Wed Apr 21 09:51:02 2010 +0300
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlFileDocument.cs	Fri Aug 27 12:21:46 2010 +0300
@@ -205,6 +205,16 @@
                 aOutput.WriteAttributeString(XmlConsts.Kxml_defect_hash, datablock.Hash());
             }
 
+            if (datablock.DetailedHash() != string.Empty)
+            {
+                aOutput.WriteAttributeString(XmlConsts.Kxml_detailed_defect_hash, datablock.DetailedHash());
+            }
+
+            if (datablock.TestSet() != string.Empty)
+            {
+                aOutput.WriteAttributeString(XmlConsts.Kxml_testset, datablock.TestSet());
+            }
+
             // Child elements for report details
             if (datablock.CodeSegs().Count > 0)
             {
@@ -225,16 +235,17 @@
             }
 
             // Traces
-            if(datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
+            if( datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
                 datablock.CallStacks().Count > 0 ||
                 datablock.OstTraces().Count > 0 ||
                 datablock.Eventlog().Count > 0 ||
-                datablock.RegStorage().OtherRegLists().Count > 0)
+                datablock.RegStorage().OtherRegLists().Count > 0 ||
+                datablock.PanicDescription() != String.Empty )
             {
                 aOutput.WriteStartElement(XmlConsts.Kxml_traces);
             }
 
-            WriteDetail(aOutput, XmlConsts.Kxml_register, datablock.RegStorage().BasicRegs().ToString());
+            WriteDetail(aOutput, XmlConsts.Kxml_register, datablock.RegStorage().BasicRegs().ToPrettyString());
 
             // Extra registers  
             System.Text.StringBuilder extraRegisters = new System.Text.StringBuilder();
@@ -266,11 +277,15 @@
             }
             WriteDetail(aOutput, XmlConsts.Kxml_eventlog, eventLog.ToString());
 
+            // Panic description
+            WriteDetail(aOutput, XmlConsts.Kxml_panic_description, datablock.PanicDescription());
+
             if (datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
                 datablock.CallStacks().Count > 0 ||
                 datablock.OstTraces().Count > 0 ||
                 datablock.Eventlog().Count > 0 ||
-                datablock.RegStorage().OtherRegLists().Count > 0)
+                datablock.RegStorage().OtherRegLists().Count > 0 ||
+                datablock.PanicDescription() != String.Empty)
             {
                 aOutput.WriteEndElement(); // traces
             }
@@ -288,7 +303,6 @@
 
             WriteDetail(aOutput, XmlConsts.Kxml_panic_id, datablock.PanicId());
             WriteDetail(aOutput, XmlConsts.Kxml_panic_category, datablock.PanicCategory());
-            WriteDetail(aOutput, XmlConsts.Kxml_panic_description, datablock.PanicDescription());
             WriteDetail(aOutput, XmlConsts.Kxml_language, datablock.Language());
             
             if (!datablock.Process().Equals(XmlConsts.Kxml_unknown_process))
@@ -379,7 +393,6 @@
             WriteDetail(aOutput, XmlConsts.Kxml_cellid, datablock.NetworkCell());
             WriteDetail(aOutput, XmlConsts.Kxml_psninfo, datablock.SerialNumber());
             WriteDetail(aOutput, XmlConsts.Kxml_uid, datablock.UID());
-            WriteDetail(aOutput, XmlConsts.Kxml_testset, datablock.TestSet());
             WriteDetail(aOutput, XmlConsts.Kxml_diskinfo, datablock.DiskInfo());
             WriteDetail(aOutput, XmlConsts.Kxml_phone_number, datablock.PhoneNumber());