Files
SabreTools.Serialization/SabreTools.Data.Models/ISO9660/PathTableGroup.cs

36 lines
1.5 KiB
C#
Raw Normal View History

2026-01-27 12:03:01 -05:00
namespace SabreTools.Data.Models.ISO9660
{
/// <summary>
/// ISO9660 Path Table Group, lists of path table records for each directory on the volume
/// Each path table is intended to point to the same set of directories. All non-null path tables should be identical!
/// For each directory on the filesystem (except root), the Path Table contains a record which identifies the directory, its parent, and its location.
/// </summary>
/// <see href="https://ecma-international.org/wp-content/uploads/ECMA-119_5th_edition_december_2024.pdf"/>
public sealed class PathTableGroup
{
/// <summary>
/// Type-L Path Table (Little Endian)
/// Note: This is meant to exist, but is nullable in case PathTableM is valid
/// </summary>
public PathTableRecord[]? PathTableL { get; set; }
/// <summary>
/// Optional Type-L Path Table (Little Endian)
/// Note: This is optional
/// </summary>
public PathTableRecord[]? OptionalPathTableL { get; set; }
/// <summary>
/// Type-M Path Table (Big Endian)
/// Note: This is meant to exist, but is nullable in case PathTableL is valid
/// </summary>
public PathTableRecord[]? PathTableM { get; set; }
/// <summary>
/// Optional Type-M Path Table (Big Endian)
/// Note: This is optional
/// </summary>
public PathTableRecord[]? OptionalPathTableM { get; set; }
}
}