Files
SabreTools.Serialization/SabreTools.Wrappers
2026-03-22 02:05:43 -04:00
..
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:34:52 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00
2026-03-21 16:26:56 -04:00

SabreTools.Wrappers

This library contains "wrapper" classes that combine both a model type and a reader with extension properties and methods. Models are defined in SabreTools.Data.Models and readers are defined in SabreTools.Serialization.Readers.

Common extension functionality includes:

  • Exposing model fields
  • Transformed model fields and generated properties
  • Extension methods for reference or conversion
  • Format information printing
  • Content extraction

Wrapper classes can inherit from one or more interfaces, as seen in the table below:

Interface Name Purpose
SabreTools.Wrappers.IExtractable Marks a wrapper as able to be extracted
SabreTools.Wrappers.IPrintable Marks a wrapper as able to print model information
SabreTools.Wrappers.IWrapper REQUIRED Represents an item with a description and JSON serializable state, allowing for extensions
SabreTools.Wrappers.IWrapper<TModel> Wraps a TModel with source data, allowing for extensions

Additional Information

The following projects have influenced this library:

  • libmspack - Documentation around the MS-CAB format and associated compression methods.
  • Unshield - InstallShield CAB extraction tool that influenced internal handling

The following non-project libraries (or ports thereof) are used for file handling: