Add option to pass an arbitrary list of options to IReadOnlyFilesystem.Mount()

This commit is contained in:
2017-12-27 23:55:59 +00:00
parent e009d86fcc
commit a1f82e0e72
11 changed files with 454 additions and 417 deletions

View File

@@ -40,22 +40,27 @@ namespace DiscImageChef.Filesystems.AppleDOS
{
public partial class AppleDOS : IReadOnlyFilesystem
{
bool debug;
bool debug;
IMediaImage device;
bool mounted;
int sectorsPerTrack;
ulong start;
ulong totalFileEntries;
bool track1UsedByFiles;
bool track2UsedByFiles;
int usedSectors;
bool mounted;
int sectorsPerTrack;
ulong start;
ulong totalFileEntries;
bool track1UsedByFiles;
bool track2UsedByFiles;
int usedSectors;
Vtoc vtoc;
public FileSystemType XmlFsType { get; private set; }
public Encoding Encoding { get; private set; }
public string Name => "Apple DOS File System";
public Guid Id => new Guid("8658A1E9-B2E7-4BCC-9638-157A31B0A700\n");
public Encoding Encoding { get; private set; }
public string Name => "Apple DOS File System";
public Guid Id => new Guid("8658A1E9-B2E7-4BCC-9638-157A31B0A700\n");
static Dictionary<string, string> GetDefaultOptions()
{
return new Dictionary<string, string> {{"debug", false.ToString()}};
}
#region Caches
/// <summary>Caches track/sector lists</summary>
@@ -65,17 +70,17 @@ namespace DiscImageChef.Filesystems.AppleDOS
/// <summary>Caches catalog</summary>
Dictionary<string, ushort> catalogCache;
/// <summary>Caches file size</summary>
Dictionary<string, int> fileSizeCache;
Dictionary<string, int> fileSizeCache;
/// <summary>Caches VTOC</summary>
byte[] vtocBlocks;
byte[] vtocBlocks;
/// <summary>Caches catalog</summary>
byte[] catalogBlocks;
byte[] catalogBlocks;
/// <summary>Caches boot code</summary>
byte[] bootBlocks;
byte[] bootBlocks;
/// <summary>Caches file type</summary>
Dictionary<string, byte> fileTypeCache;
Dictionary<string, byte> fileTypeCache;
/// <summary>Caches locked files</summary>
List<string> lockedFiles;
List<string> lockedFiles;
#endregion Caches
}
}