// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
namespace Tools.CrashReporter.CrashReportCommon
{
///
/// Descriptive class for the WER report data
///
public class WERReportMetadata
{
/// Host operating system version information.
public WERReportMetadataOSVersionInformation OSVersionInformation;
/// Details about the process that spawned the process that crashed.
public WERReportMetadataParentProcessInformation ParentProcessInformation;
/// A set of up to ten key value pairs representing the signature of the crash.
public WERReportMetadataProblemSignatures ProblemSignatures;
/// Additional key value pairs containing information about the crash.
public WERReportMetadataDynamicSignatures DynamicSignatures;
/// Information about the system the crash occurred on.
public WERReportMetadataSystemInformation SystemInformation;
}
///
/// The problem signature
///
public class WERReportMetadataProblemSignatures
{
/// The type of event e.g. crash or hang.
public string EventType = "";
/// The application name.
public string Parameter0 = "";
/// The application version.
public string Parameter1 = "";
/// The application timestamp.
public string Parameter2 = "";
/// The faulting module name.
public string Parameter3 = "";
/// The faulting module version.
public string Parameter4 = "";
/// The faulting module timestamp.
public string Parameter5 = "";
/// The exception code.
public string Parameter6 = "";
/// The exception offset.
public string Parameter7 = "";
/// The command line of the crashed process.
public string Parameter8 = "";
/// Branch, BaseDir, and engine mode.
public string Parameter9 = "";
/// A simple default constructor to allow Xml serialisation.
public WERReportMetadataProblemSignatures()
{
}
}
///
/// The dynamic signature.
///
public class WERReportMetadataDynamicSignatures
{
/// The long version of the operating system version.
public string Parameter1 = "";
/// The LCID of the application.
public string Parameter2 = "";
/// Generic parameter
public string Parameter3 = "";
/// Generic parameter
public string Parameter4 = "";
/// Generic parameter
public string Parameter5 = "";
/// Generic parameter
public string Parameter6 = "";
/// Generic parameter
public string Parameter7 = "";
/// Generic parameter
public string Parameter8 = "";
/// Generic parameter
public string Parameter9 = "";
/// Whether the user allowed us to be contacted
public bool bAllowToBeContacted = false;
/// Deployment name of the crashed app, if any
public string DeploymentName = "";
/// Was the "crash" a non-fatal event?
public bool IsEnsure = false;
/// Is the build version string
public string BuildVersion = "";
/// Was the "crash" an assert or check that failed?
public bool IsAssert = false;
/// Crash type string
public string CrashType = "";
/// A simple default constructor to allow Xml serialisation.
public WERReportMetadataDynamicSignatures()
{
}
}
///
/// Details about the host OS the crash occurred on
///
public class WERReportMetadataOSVersionInformation
{
/// The Windows version e.g. 6.1.
public string WindowsNTVersion = "";
/// The build number and service pack. e.g. '7601 Service Pack 1'.
public string Build = "";
/// The product name.
public string Product = "";
/// The type of Windows operating system e.g. Professional.
public string Edition = "";
/// The detailed version.e.g. '7601.17944.amd64fre.win7sp1_gdr.120830-0333'.
public string BuildString = "";
/// The revision.
public string Revision = "";
/// The flavor. e.g. 'Multiprocessor Free'.
public string Flavor = "";
/// The processor architecture e.g. x64.
public string Architecture = "";
/// The system language code.
public string LCID = "";
/// A simple default constructor to allow Xml serialisation.
public WERReportMetadataOSVersionInformation()
{
}
}
///
/// Details about the process that launched the crashed application.
///
public class WERReportMetadataParentProcessInformation
{
/// The id of the parent process.
public string ParentProcessId = "";
/// The full path of the parent process.
public string ParentProcessPath = "";
/// The command line used to launch the parent process, including the executable name.
public string ParentProcessCmdLine = "";
/// A simple default constructor to allow Xml serialisation.
public WERReportMetadataParentProcessInformation()
{
}
}
///
/// Details about the machine the crash occurred on
///
public class WERReportMetadataSystemInformation
{
/// A GUID for the machine.
public string MID = "";
/// The manufacturer of the machine e.g. Hewlett Packard.
public string SystemManufacturer = "";
/// The system product name.
public string SystemProductName = "";
/// The current BIOS version.
public string BIOSVersion = "";
/// A simple default constructor to allow Xml serialisation.
public WERReportMetadataSystemInformation()
{
}
}
}