diff --git a/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs b/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs
index a09946cf..e2a3641e 100644
--- a/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs
+++ b/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs
@@ -21,23 +21,29 @@ namespace SabreTools.Serialization.Wrappers
public CFFILE[]? Files => Model.Files;
///
- public int FileCount => Model.Header?.FileCount ?? 0;
+ public int FileCount => Header?.FileCount ?? 0;
///
public CFFOLDER[]? Folders => Model.Folders;
///
- public int FolderCount => Model.Header?.FolderCount ?? 0;
+ public int FolderCount => Header?.FolderCount ?? 0;
///
public CFHEADER? Header => Model.Header;
+ ///
+ public string? CabinetNext => Header?.CabinetNext;
+
///
/// Reference to the next cabinet header
///
/// Only used in multi-file
public MicrosoftCabinet? Next { get; set; }
+ ///
+ public string? CabinetPrev => Header?.CabinetPrev;
+
///
/// Reference to the next previous header
///
@@ -298,7 +304,7 @@ namespace SabreTools.Serialization.Wrappers
return null;
// Seek to the first part of the cabinet set
- while (current.Header.CabinetPrev != null)
+ while (current.CabinetPrev != null)
{
// Attempt to open the previous cabinet
var prev = current.OpenPrevious(filename);
@@ -313,7 +319,7 @@ namespace SabreTools.Serialization.Wrappers
var start = current;
// Read in the cabinet parts sequentially
- while (current.Header.CabinetNext != null)
+ while (current.CabinetNext != null)
{
// Open the next cabinet and try to parse
var next = current.OpenNext(filename);
@@ -344,7 +350,7 @@ namespace SabreTools.Serialization.Wrappers
filename = Path.GetFullPath(filename);
// Get if the cabinet has a next part
- string? next = Header.CabinetNext;
+ string? next = CabinetNext;
if (string.IsNullOrEmpty(next))
return null;
@@ -372,7 +378,7 @@ namespace SabreTools.Serialization.Wrappers
filename = Path.GetFullPath(filename);
// Get if the cabinet has a previous part
- string? prev = Header.CabinetPrev;
+ string? prev = CabinetPrev;
if (string.IsNullOrEmpty(prev))
return null;
diff --git a/SabreTools.Serialization/Wrappers/NewExecutable.cs b/SabreTools.Serialization/Wrappers/NewExecutable.cs
index a171c139..f7ec8f7a 100644
--- a/SabreTools.Serialization/Wrappers/NewExecutable.cs
+++ b/SabreTools.Serialization/Wrappers/NewExecutable.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.IO;
namespace SabreTools.Serialization.Wrappers
@@ -12,6 +13,25 @@ namespace SabreTools.Serialization.Wrappers
#endregion
+ #region Extension Properties
+
+ ///
+ public Models.NewExecutable.ExecutableHeader? Header => Model.Header;
+
+ ///
+ public Dictionary? ImportedNameTable => Model.ImportedNameTable;
+
+ ///
+ public Models.NewExecutable.NonResidentNameTableEntry[]? NonResidentNameTable => Model.NonResidentNameTable;
+
+ ///
+ public Models.NewExecutable.ResidentNameTableEntry[]? ResidentNameTable => Model.ResidentNameTable;
+
+ ///
+ public Models.MSDOS.Executable? Stub => Model.Stub;
+
+ #endregion
+
#region Constructors
///
diff --git a/SabreTools.Serialization/Wrappers/PortableExecutable.cs b/SabreTools.Serialization/Wrappers/PortableExecutable.cs
index 5b9432b8..00355a20 100644
--- a/SabreTools.Serialization/Wrappers/PortableExecutable.cs
+++ b/SabreTools.Serialization/Wrappers/PortableExecutable.cs
@@ -17,6 +17,9 @@ namespace SabreTools.Serialization.Wrappers
#region Extension Properties
+ ///
+ public Models.PortableExecutable.COFFFileHeader? COFFFileHeader => Model.COFFFileHeader;
+
///
/// Dictionary of debug data
///
@@ -85,6 +88,9 @@ namespace SabreTools.Serialization.Wrappers
}
}
+ ///
+ public Models.PortableExecutable.ExportTable? ExportTable => Model.ExportTable;
+
///
/// Header padding data, if it exists
///
@@ -181,6 +187,9 @@ namespace SabreTools.Serialization.Wrappers
}
}
+ ///
+ public Models.PortableExecutable.ImportTable? ImportTable => Model.ImportTable;
+
///
public Models.PortableExecutable.OptionalHeader? OptionalHeader => Model.OptionalHeader;
diff --git a/SabreTools.Serialization/Wrappers/Quantum.cs b/SabreTools.Serialization/Wrappers/Quantum.cs
index e9e1015c..15c0a3da 100644
--- a/SabreTools.Serialization/Wrappers/Quantum.cs
+++ b/SabreTools.Serialization/Wrappers/Quantum.cs
@@ -19,7 +19,7 @@ namespace SabreTools.Serialization.Wrappers
public long CompressedDataOffset => Model.CompressedDataOffset;
///
- public ushort FileCount => Model.Header?.FileCount ?? 0;
+ public ushort FileCount => Header?.FileCount ?? 0;
///
public FileDescriptor[] FileList => Model.FileList ?? [];