crashanalysercmd/Libraries/File Formats/Plugins/XmlFilePlugin/FileFormat/CXmlFileDocument.cs
author Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
Fri, 27 Aug 2010 12:21:46 +0300
changeset 3 045ade241ef5
parent 2 0c91f0baec58
permissions -rw-r--r--
Version 1.0.13. The most important changes are: -detailed defect hash added -panic descriptions updated -release build is working -simple command line usage added
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     1
/*
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     8
*
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    11
*
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    12
* Contributors:
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    13
* 
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    14
* Description:
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    15
* The class CXmlFileDocument is part of CrashAnalyser XmlFilePlugin plugin.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    16
* Container and output implementation for data in XML File format.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    17
* XML format is an intermediate file used in the MobileCrash server
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    18
* CXmlFileSink creates an instance of this class and uses it to output
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    19
* crash data to file in XML format. 
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    20
* 
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    21
*/
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    22
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    23
using System;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    24
using System.Collections.Generic;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    25
using System.Text;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    26
using System.Xml;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    27
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    28
using CrashItemLib.Crash.Base;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    29
using CrashItemLib.Crash.Processes;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    30
using CrashItemLib.Crash.Container;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    31
using System.IO;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    32
using CrashItemLib.Sink;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    33
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    34
namespace XmlFilePlugin.PluginImplementations.FileFormat
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    35
{
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    36
    internal class CXmlFileDocument
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    37
    {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    38
        #region Constructors
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    39
        public CXmlFileDocument()
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    40
           
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    41
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    42
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    43
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    44
        #endregion
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    45
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    46
        /** Creates a new datablock and inputs data from container to the datablock */
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    47
        public void ReadDataFromContainer(CISinkSerializationParameters aParams)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    48
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    49
            CIContainer container = aParams.Container;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    50
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    51
            //Create a datablock for this container's contents
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    52
            CXmlDataBlock datablock = new CXmlDataBlock();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    53
           
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    54
            //Read all interesting data from container to the datablock
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    55
            datablock.AddHeader(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    56
            datablock.AddSWInfos(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    57
            datablock.AddThreadAndExitInfo(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    58
            datablock.AddPanicedProcess(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    59
            datablock.AddRegisterLists(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    60
            datablock.AddStacks(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    61
            datablock.AddCodeSegments(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    62
            datablock.AddMemoryInfo(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    63
            datablock.AddHWInfo(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    64
            datablock.AddTelephony(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    65
            datablock.AddEnvInfo(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    66
            datablock.AddReportParameters(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    67
            datablock.AddMessages(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    68
            datablock.AddCrashHash(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    69
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    70
            string archivedFileName = (String)aParams.OperationData1;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    71
            datablock.AddFileNames(container, archivedFileName);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    72
            datablock.AddEventlog(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    73
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    74
            datablock.AddOstTraces(container);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    75
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    76
            //If all went well, we will add datablock to stored datablocks
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    77
            iDatablocks.Add(datablock);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    78
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    79
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    80
        public void WriteToXmlStream(XmlWriter aOutput)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    81
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    82
            System.Diagnostics.Debug.Assert(aOutput != null);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    83
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    84
            WriteHeader(aOutput);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    85
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    86
            if (iDatablocks.Count > 0)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    87
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    88
                WriteReport(aOutput);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    89
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    90
            
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    91
            WriteFooter(aOutput);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    92
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    93
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    94
        /**
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    95
         * Writes as plain text.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    96
         */
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    97
        public void WriteToPlainTextStream(StreamWriter aOutput)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    98
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
    99
            PlainTextOutput.Write(aOutput, iDatablocks);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   100
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   101
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   102
        private void WriteReport(XmlWriter aOutput)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   103
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   104
            CXmlDataBlock datablock = iDatablocks[0];
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   105
            
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   106
            aOutput.WriteStartElement(XmlConsts.Kxml_report);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   107
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   108
            WriteDevice(aOutput, datablock);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   109
            WriteReportDetails(aOutput, datablock);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   110
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   111
            aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   112
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   113
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   114
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   115
        private static void WriteDevice(XmlWriter aOutput, CXmlDataBlock datablock)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   116
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   117
            // Device
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   118
            aOutput.WriteStartElement(XmlConsts.Kxml_device);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   119
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   120
            if (datablock.Platform().Equals(XmlConsts.Kxml_sos))
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   121
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   122
                aOutput.WriteAttributeString(XmlConsts.Kxml_platform, XmlConsts.Kxml_s60);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   123
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   124
            else
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   125
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   126
                aOutput.WriteAttributeString(XmlConsts.Kxml_platform, datablock.Platform());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   127
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   128
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   129
            aOutput.WriteAttributeString(XmlConsts.Kxml_code, datablock.ProductType());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   130
            aOutput.WriteAttributeString(XmlConsts.Kxml_version, datablock.SWVersion());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   131
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   132
            if (datablock.RomId() != null)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   133
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   134
                aOutput.WriteAttributeString(XmlConsts.Kxml_romid, datablock.RomId().ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   135
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   136
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   137
            // variant is not written.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   138
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   139
            if (datablock.Imei() != string.Empty)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   140
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   141
                aOutput.WriteAttributeString(XmlConsts.Kxml_imei, datablock.Imei());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   142
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   143
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   144
            // Write additional device details here if exist.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   145
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   146
            aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   147
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   148
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   149
        private static void WriteHeader(XmlWriter aOutput)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   150
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   151
            aOutput.WriteStartDocument();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   152
            aOutput.WriteDocType(XmlConsts.Kxml_report, null, XmlConsts.Kxml_doctype, null);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   153
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   154
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   155
        private static void WriteFooter(XmlWriter aOutput)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   156
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   157
            aOutput.WriteEndDocument();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   158
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   159
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   160
        private static void WriteReportDetails(XmlWriter aOutput, CXmlDataBlock datablock)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   161
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   162
            // Device report details
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   163
            aOutput.WriteStartElement(XmlConsts.Kxml_report_details);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   164
            aOutput.WriteAttributeString(XmlConsts.Kxml_timestamp, datablock.TimeStampText());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   165
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   166
            string crashtypestr = "Not found";
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   167
            if(datablock.FileType() == XmlConsts.MobileCrashFileType.ETypeBasicCrash)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   168
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   169
                crashtypestr = XmlConsts.Kxml_type_crash;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   170
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   171
            else if (datablock.FileType() == XmlConsts.MobileCrashFileType.ETypeAliveMessage)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   172
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   173
                crashtypestr = XmlConsts.Kxml_type_alivemsg;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   174
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   175
            else if (datablock.FileType() == XmlConsts.MobileCrashFileType.ETypeCrashAPIReport)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   176
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   177
                crashtypestr = XmlConsts.Kxml_type_report;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   178
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   179
            else if (datablock.FileType() == XmlConsts.MobileCrashFileType.ETypeRegistrationMessage)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   180
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   181
                crashtypestr = XmlConsts.Kxml_type_regmsg;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   182
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   183
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   184
            aOutput.WriteAttributeString(XmlConsts.Kxml_type, crashtypestr);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   185
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   186
            aOutput.WriteAttributeString(XmlConsts.Kxml_file_name, datablock.BinFilename());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   187
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   188
            if (crashtypestr.Equals(XmlConsts.Kxml_type_report))
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   189
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   190
                aOutput.WriteAttributeString(XmlConsts.Kxml_report_category, datablock.ReportCategory());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   191
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   192
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   193
            if (crashtypestr.Equals(XmlConsts.Kxml_type_report))
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   194
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   195
                aOutput.WriteAttributeString(XmlConsts.Kxml_report_type, datablock.ReportType());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   196
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   197
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   198
            if (datablock.CrashedModuleName() != string.Empty)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   199
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   200
                aOutput.WriteAttributeString(XmlConsts.Kxml_crashed_module, datablock.CrashedModuleName());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   201
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   202
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   203
            if (datablock.Hash() != string.Empty)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   204
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   205
                aOutput.WriteAttributeString(XmlConsts.Kxml_defect_hash, datablock.Hash());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   206
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   207
3
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   208
            if (datablock.DetailedHash() != string.Empty)
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   209
            {
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   210
                aOutput.WriteAttributeString(XmlConsts.Kxml_detailed_defect_hash, datablock.DetailedHash());
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   211
            }
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   212
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   213
            if (datablock.TestSet() != string.Empty)
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   214
            {
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   215
                aOutput.WriteAttributeString(XmlConsts.Kxml_testset, datablock.TestSet());
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   216
            }
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   217
2
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   218
            // Child elements for report details
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   219
            if (datablock.CodeSegs().Count > 0)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   220
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   221
                aOutput.WriteStartElement(XmlConsts.Kxml_loaded_dlls);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   222
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   223
            foreach (CXmlCodeSegItem codeseg in datablock.CodeSegs())
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   224
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   225
                aOutput.WriteStartElement(XmlConsts.Kxml_loaded_dll);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   226
                aOutput.WriteAttributeString(XmlConsts.Kxml_name, codeseg.Name);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   227
                aOutput.WriteAttributeString(XmlConsts.Kxml_start_address, codeseg.Start.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   228
                aOutput.WriteAttributeString(XmlConsts.Kxml_end_address, codeseg.End.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   229
                aOutput.WriteEndElement(); // loaded dll
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   230
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   231
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   232
            if (datablock.CodeSegs().Count > 0)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   233
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   234
                aOutput.WriteEndElement(); // loaded dlls
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   235
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   236
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   237
            // Traces
3
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   238
            if( datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
2
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   239
                datablock.CallStacks().Count > 0 ||
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   240
                datablock.OstTraces().Count > 0 ||
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   241
                datablock.Eventlog().Count > 0 ||
3
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   242
                datablock.RegStorage().OtherRegLists().Count > 0 ||
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   243
                datablock.PanicDescription() != String.Empty )
2
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   244
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   245
                aOutput.WriteStartElement(XmlConsts.Kxml_traces);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   246
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   247
3
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   248
            WriteDetail(aOutput, XmlConsts.Kxml_register, datablock.RegStorage().BasicRegs().ToPrettyString());
2
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   249
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   250
            // Extra registers  
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   251
            System.Text.StringBuilder extraRegisters = new System.Text.StringBuilder();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   252
            foreach (CXmlRegisterStorage.CCrashInfoRegisterList registerList in datablock.RegStorage().OtherRegLists())
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   253
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   254
                extraRegisters.AppendLine(registerList.ToPrettyString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   255
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   256
            WriteDetail(aOutput, XmlConsts.Kxml_register_extra, extraRegisters.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   257
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   258
            // Call stack  
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   259
            foreach (XmlFilePlugin.FileFormat.CXmlCallStack stack in datablock.CallStacks())
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   260
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   261
                WriteDetail(aOutput, XmlConsts.Kxml_call_stack_text, stack.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   262
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   263
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   264
            // OST traces  
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   265
            System.Text.StringBuilder ostTraces = new System.Text.StringBuilder();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   266
            foreach (string line in datablock.OstTraces())
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   267
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   268
                ostTraces.AppendLine(line);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   269
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   270
            WriteDetail(aOutput, XmlConsts.Kxml_trace_data, ostTraces.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   271
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   272
            // Event log
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   273
            System.Text.StringBuilder eventLog = new System.Text.StringBuilder();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   274
            foreach (string line in datablock.Eventlog())
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   275
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   276
                eventLog.AppendLine(line);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   277
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   278
            WriteDetail(aOutput, XmlConsts.Kxml_eventlog, eventLog.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   279
3
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   280
            // Panic description
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   281
            WriteDetail(aOutput, XmlConsts.Kxml_panic_description, datablock.PanicDescription());
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   282
2
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   283
            if (datablock.RegStorage().BasicRegs().Registers.Count > 0 ||
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   284
                datablock.CallStacks().Count > 0 ||
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   285
                datablock.OstTraces().Count > 0 ||
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   286
                datablock.Eventlog().Count > 0 ||
3
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   287
                datablock.RegStorage().OtherRegLists().Count > 0 ||
045ade241ef5 Version 1.0.13. The most important changes are:
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents: 2
diff changeset
   288
                datablock.PanicDescription() != String.Empty)
2
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   289
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   290
                aOutput.WriteEndElement(); // traces
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   291
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   292
            WriteDictionaryValues(aOutput, datablock);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   293
            WriteUniqueValues(aOutput, datablock);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   294
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   295
            aOutput.WriteEndElement(); // report details
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   296
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   297
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   298
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   299
        private static void WriteDictionaryValues(XmlWriter aOutput, CXmlDataBlock datablock)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   300
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   301
            // Dictionary values
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   302
            aOutput.WriteStartElement(XmlConsts.Kxml_dictionary_values);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   303
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   304
            WriteDetail(aOutput, XmlConsts.Kxml_panic_id, datablock.PanicId());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   305
            WriteDetail(aOutput, XmlConsts.Kxml_panic_category, datablock.PanicCategory());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   306
            WriteDetail(aOutput, XmlConsts.Kxml_language, datablock.Language());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   307
            
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   308
            if (!datablock.Process().Equals(XmlConsts.Kxml_unknown_process))
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   309
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   310
                WriteDetail(aOutput, XmlConsts.Kxml_panicked_process, datablock.Process());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   311
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   312
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   313
            WriteDetail(aOutput, XmlConsts.Kxml_network_country_code, datablock.NetworkCountry());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   314
            WriteDetail(aOutput, XmlConsts.Kxml_network_identity, datablock.NetworkIdentity());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   315
            WriteDetail(aOutput, XmlConsts.Kxml_s60version, datablock.S60Version());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   316
            WriteDetail(aOutput, XmlConsts.Kxml_product_code, datablock.ProductCode());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   317
            WriteDetail(aOutput, XmlConsts.Kxml_variant_version, datablock.VariantVersion());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   318
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   319
            aOutput.WriteStartElement(XmlConsts.Kxml_detail);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   320
            aOutput.WriteAttributeString(XmlConsts.Kxml_name, XmlConsts.Kxml_file_type);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   321
            if (datablock.ReportType() != string.Empty)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   322
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   323
                aOutput.WriteAttributeString(XmlConsts.Kxml_value, "1");
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   324
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   325
            else
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   326
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   327
                aOutput.WriteAttributeString(XmlConsts.Kxml_value, "0");
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   328
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   329
            aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   330
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   331
            // Production mode
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   332
            if (datablock.ProductionMode() != -1)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   333
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   334
                aOutput.WriteStartElement(XmlConsts.Kxml_detail);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   335
                aOutput.WriteAttributeString(XmlConsts.Kxml_name, XmlConsts.Kxml_production_mode);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   336
                if (datablock.ProductionMode() == 1)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   337
                {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   338
                    aOutput.WriteAttributeString(XmlConsts.Kxml_value, XmlConsts.Kxml_production_mode_value);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   339
                }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   340
                else
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   341
                {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   342
                    aOutput.WriteAttributeString(XmlConsts.Kxml_value, XmlConsts.Kxml_rnd_mode_value);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   343
                }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   344
                aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   345
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   346
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   347
            // Crash source
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   348
            if (datablock.CrashSource() != -1)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   349
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   350
                aOutput.WriteStartElement(XmlConsts.Kxml_detail);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   351
                aOutput.WriteAttributeString(XmlConsts.Kxml_name, XmlConsts.Kxml_crash_source);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   352
                if (datablock.CrashSource() == 1)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   353
                {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   354
                    aOutput.WriteAttributeString(XmlConsts.Kxml_value, XmlConsts.Kxml_crash_source_user);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   355
                }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   356
                else
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   357
                {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   358
                    aOutput.WriteAttributeString(XmlConsts.Kxml_value, XmlConsts.Kxml_crash_source_kernel);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   359
                }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   360
                aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   361
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   362
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   363
            WriteSymbolFileNames(aOutput, datablock);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   364
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   365
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   366
            aOutput.WriteEndElement(); // dictionary values
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   367
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   368
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   369
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   370
        private static void WriteUniqueValues(XmlWriter aOutput, CXmlDataBlock datablock)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   371
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   372
            // Unique values
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   373
            aOutput.WriteStartElement(XmlConsts.Kxml_unique_values);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   374
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   375
            // Hw version is not added because it doesn't exist.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   376
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   377
            WriteDetail(aOutput, XmlConsts.Kxml_available_memory, datablock.FreeMemory());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   378
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   379
            if (datablock.RegStorage() != null && datablock.RegStorage().ProgramCounter() != null)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   380
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   381
                WriteDetail(aOutput, XmlConsts.Kxml_program_counter, datablock.RegStorage().ProgramCounter().Value);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   382
                WriteDetail(aOutput, XmlConsts.Kxml_program_counter_symbol, datablock.RegStorage().ProgramCounter().Symbol);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   383
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   384
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   385
            WriteDetail(aOutput, XmlConsts.Kxml_misc_info, datablock.GetMiscInfo());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   386
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   387
            // Reporter not written.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   388
            // Resetreason not written.
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   389
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   390
            WriteDetail(aOutput, XmlConsts.Kxml_uptime, datablock.Uptime());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   391
            WriteDetail(aOutput, XmlConsts.Kxml_siminfo, datablock.Imsi());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   392
            WriteDetail(aOutput, XmlConsts.Kxml_locinfo, datablock.LocInfo());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   393
            WriteDetail(aOutput, XmlConsts.Kxml_cellid, datablock.NetworkCell());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   394
            WriteDetail(aOutput, XmlConsts.Kxml_psninfo, datablock.SerialNumber());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   395
            WriteDetail(aOutput, XmlConsts.Kxml_uid, datablock.UID());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   396
            WriteDetail(aOutput, XmlConsts.Kxml_diskinfo, datablock.DiskInfo());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   397
            WriteDetail(aOutput, XmlConsts.Kxml_phone_number, datablock.PhoneNumber());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   398
            
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   399
            WriteDetail(aOutput, XmlConsts.Kxml_report_ok, datablock.ReportOK());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   400
            WriteDetail(aOutput, XmlConsts.Kxml_report_fail, datablock.ReportFail());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   401
            WriteDetail(aOutput, XmlConsts.Kxml_report_param_name1, datablock.ReportParamName1());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   402
            WriteDetail(aOutput, XmlConsts.Kxml_report_param_value1, datablock.ReportParamValue1());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   403
            WriteDetail(aOutput, XmlConsts.Kxml_report_param_name2, datablock.ReportParamName2());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   404
            WriteDetail(aOutput, XmlConsts.Kxml_report_param_value2, datablock.ReportParamValue2());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   405
            WriteDetail(aOutput, XmlConsts.Kxml_report_param_name3, datablock.ReportParamName3());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   406
            WriteDetail(aOutput, XmlConsts.Kxml_report_param_value3, datablock.ReportParamValue3());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   407
            WriteDetail(aOutput, XmlConsts.Kxml_report_comments, datablock.ReportComments());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   408
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   409
            aOutput.WriteEndElement(); // unique values
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   410
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   411
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   412
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   413
        private static void WriteSymbolFileNames(XmlWriter aOutput, CXmlDataBlock datablock)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   414
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   415
            List<string> symbolFiles = datablock.SymbolFiles();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   416
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   417
            string symbolfilenames = string.Empty;
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   418
            foreach (string fileName in symbolFiles)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   419
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   420
                if (symbolfilenames != string.Empty)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   421
                {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   422
                    symbolfilenames = symbolfilenames + ", ";
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   423
                }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   424
                symbolfilenames = symbolfilenames + Path.GetFileName(fileName);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   425
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   426
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   427
            WriteDetail(aOutput, XmlConsts.Kxml_symbol_file_name, symbolfilenames);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   428
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   429
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   430
        private static void WriteDetail(XmlWriter aOutput, string name, ulong? value)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   431
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   432
            if (value != null)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   433
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   434
                aOutput.WriteStartElement(XmlConsts.Kxml_detail);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   435
                aOutput.WriteAttributeString(XmlConsts.Kxml_name, name);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   436
                aOutput.WriteAttributeString(XmlConsts.Kxml_value, value.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   437
                aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   438
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   439
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   440
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   441
        private static void WriteDetail(XmlWriter aOutput, string name, double? value)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   442
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   443
            if (value != null)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   444
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   445
                aOutput.WriteStartElement(XmlConsts.Kxml_detail);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   446
                aOutput.WriteAttributeString(XmlConsts.Kxml_name, name);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   447
                aOutput.WriteAttributeString(XmlConsts.Kxml_value, value.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   448
                aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   449
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   450
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   451
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   452
        private static void WriteDetail(XmlWriter aOutput, string name, string value)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   453
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   454
            if (value != string.Empty)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   455
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   456
                aOutput.WriteStartElement(XmlConsts.Kxml_detail);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   457
                aOutput.WriteAttributeString(XmlConsts.Kxml_name, name);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   458
                aOutput.WriteAttributeString(XmlConsts.Kxml_value, value);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   459
                aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   460
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   461
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   462
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   463
        private static void WriteDetail(XmlWriter aOutput, string name, int? value)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   464
        {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   465
            if (value != null)
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   466
            {
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   467
                aOutput.WriteStartElement(XmlConsts.Kxml_detail);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   468
                aOutput.WriteAttributeString(XmlConsts.Kxml_name, name);
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   469
                aOutput.WriteAttributeString(XmlConsts.Kxml_value, value.ToString());
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   470
                aOutput.WriteEndElement();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   471
            }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   472
        }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   473
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   474
        #region Data members
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   475
        private List<CXmlDataBlock> iDatablocks = new List<CXmlDataBlock>();
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   476
        #endregion
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   477
    }
0c91f0baec58 Source codes for command line version of Crash Analyser Carbide extension v1.3
Jussi Ryoma <ext-jussi.s.ryoma@nokia.com>
parents:
diff changeset
   478
}