Files
Matt Nadareski 7689c6dd07 Libraries
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.
2026-03-21 16:26:56 -04:00

36 lines
1.5 KiB
C#

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; }
}
}