using System;
namespace SabreTools.Models.InstallShieldCabinet
{
///
public sealed class Component
{
///
/// Offset to the component identifier
///
public uint IdentifierOffset { get; set; }
///
/// Component identifier
///
public string? Identifier { get; set; }
///
/// Offset to the component descriptor
///
public uint DescriptorOffset { get; set; }
///
/// Offset to the display name
///
public uint DisplayNameOffset { get; set; }
///
/// Display name
///
public string? DisplayName { get; set; }
///
/// Reserved
///
public byte[]? Reserved0 { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset0 { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset1 { get; set; }
///
/// Component index
///
public ushort ComponentIndex { get; set; }
///
/// Offset to the component name
///
public uint NameOffset { get; set; }
///
/// Component name
///
public string? Name { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset2 { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset3 { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset4 { get; set; }
///
/// Reserved
///
public byte[]? Reserved1 { get; set; }
///
/// Offset to the component CLSID
///
public uint CLSIDOffset { get; set; }
///
/// Component CLSID
///
public Guid CLSID { get; set; }
///
/// Reserved
///
public byte[]? Reserved2 { get; set; }
///
/// Reserved
///
public byte[]? Reserved3 { get; set; }
///
/// Number of depends(?)
///
public ushort DependsCount { get; set; }
///
/// Offset to depends(?)
///
public uint DependsOffset { get; set; }
///
/// Number of file groups
///
public uint FileGroupCount { get; set; }
///
/// Offset to the file group names
///
public uint FileGroupNamesOffset { get; set; }
///
/// File group names
///
public string[]? FileGroupNames { get; set; }
///
/// Number of X3(?)
///
public ushort X3Count { get; set; }
///
/// Offset to X3(?)
///
public uint X3Offset { get; set; }
///
/// Number of sub-components
///
public ushort SubComponentsCount { get; set; }
///
/// Offset to the sub-components
///
public uint SubComponentsOffset { get; set; }
///
/// Offset to the next component
///
public uint NextComponentOffset { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset5 { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset6 { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset7 { get; set; }
///
/// Reserved offset
///
public uint ReservedOffset8 { get; set; }
}
}