mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-22 14:55:11 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
76 lines
1.9 KiB
C#
76 lines
1.9 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace SabreTools.Data.Models.InstallShieldCabinet
|
|
{
|
|
/// <see href="https://github.com/twogood/unshield/blob/main/lib/cabfile.h"/>
|
|
/// <see href="https://github.com/twogood/unshield/blob/main/lib/internal.h"/>
|
|
public sealed class Cabinet
|
|
{
|
|
#region Headers
|
|
|
|
/// <summary>
|
|
/// Common header
|
|
/// </summary>
|
|
public CommonHeader CommonHeader { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Volume header
|
|
/// </summary>
|
|
public VolumeHeader VolumeHeader { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Descriptor
|
|
/// </summary>
|
|
public Descriptor Descriptor { get; set; } = new();
|
|
|
|
#endregion
|
|
|
|
#region File Descriptors
|
|
|
|
/// <summary>
|
|
/// Offsets to all file descriptors
|
|
/// </summary>
|
|
public uint[] FileDescriptorOffsets { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Directory names
|
|
/// </summary>
|
|
public string[] DirectoryNames { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Standard file descriptors
|
|
/// </summary>
|
|
public FileDescriptor[] FileDescriptors { get; set; } = [];
|
|
|
|
#endregion
|
|
|
|
#region File Groups
|
|
|
|
/// <summary>
|
|
/// File group offset to offset list mapping
|
|
/// </summary>
|
|
public Dictionary<long, OffsetList?> FileGroupOffsets { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// File groups
|
|
/// </summary>
|
|
public FileGroup[] FileGroups { get; set; } = [];
|
|
|
|
#endregion
|
|
|
|
#region Components
|
|
|
|
/// <summary>
|
|
/// Component offset to offset list mapping
|
|
/// </summary>
|
|
public Dictionary<long, OffsetList?> ComponentOffsets { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Components
|
|
/// </summary>
|
|
public Component[] Components { get; set; } = [];
|
|
|
|
#endregion
|
|
}
|
|
}
|