[Refactor] Use collection expression.

This commit is contained in:
2025-11-24 03:08:01 +00:00
parent 22aa9b3538
commit d29afd403a
79 changed files with 544 additions and 914 deletions

View File

@@ -62,11 +62,7 @@ public static class Version
{ {
Assembly assembly = typeof(GCSettings).Assembly; Assembly assembly = typeof(GCSettings).Assembly;
string[] assemblyPath = assembly.CodeBase?.Split(new[] string[] assemblyPath = assembly.CodeBase?.Split(['/', '\\'], StringSplitOptions.RemoveEmptyEntries);
{
'/', '\\'
},
StringSplitOptions.RemoveEmptyEntries);
if(assemblyPath is null) return null; if(assemblyPath is null) return null;

View File

@@ -61,9 +61,9 @@ public partial class LzdStream : Stream
if(buffer == null) throw new ArgumentNullException(nameof(buffer)); if(buffer == null) throw new ArgumentNullException(nameof(buffer));
if(offset < 0 || count < 0 || offset + count > buffer.Length) throw new ArgumentOutOfRangeException(); if(offset < 0 || count < 0 || offset + count > buffer.Length) throw new ArgumentOutOfRangeException();
int totalRead = 0; var totalRead = 0;
int totalOut = 0; var totalOut = 0;
int iter = 0; var iter = 0;
while(totalRead < count) while(totalRead < count)
{ {
@@ -115,7 +115,7 @@ public partial class LzdStream : Stream
if(!_flushed) if(!_flushed)
{ {
Debug.WriteLine($"[FEED] size=0 flushed={_flushed} (final empty feed)"); Debug.WriteLine($"[FEED] size=0 flushed={_flushed} (final empty feed)");
var f = (LZDStatus)LZD_FeedNative(_ctx, Array.Empty<byte>(), UIntPtr.Zero); var f = (LZDStatus)LZD_FeedNative(_ctx, [], UIntPtr.Zero);
if(f == LZDStatus.ERROR) ThrowDecoderError(); if(f == LZDStatus.ERROR) ThrowDecoderError();
_flushed = true; _flushed = true;
Debug.WriteLine(">>> SET _flushed=true"); Debug.WriteLine(">>> SET _flushed=true");

View File

@@ -53,6 +53,13 @@ public sealed partial class AppleDOS : IReadOnlyFilesystem
uint _usedSectors; uint _usedSectors;
Vtoc _vtoc; Vtoc _vtoc;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -68,21 +75,13 @@ public sealed partial class AppleDOS : IReadOnlyFilesystem
public string Author => Authors.NataliaPortillo; public string Author => Authors.NataliaPortillo;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => null; public Dictionary<string, string> Namespaces => null;
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region Caches #region Caches
/// <summary>Caches track/sector lists</summary> /// <summary>Caches track/sector lists</summary>

View File

@@ -42,11 +42,7 @@ public sealed partial class AppleDOS
{ {
ErrorNumber CacheFile(string path) ErrorNumber CacheFile(string path)
{ {
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -148,11 +144,7 @@ public sealed partial class AppleDOS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -180,11 +172,7 @@ public sealed partial class AppleDOS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -269,11 +257,7 @@ public sealed partial class AppleDOS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -47,11 +47,7 @@ public sealed partial class AppleDOS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -82,11 +78,7 @@ public sealed partial class AppleDOS
{ {
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -60,6 +60,13 @@ public sealed partial class AppleMFS : IReadOnlyFilesystem
int _sectorsPerBlock; int _sectorsPerBlock;
MasterDirectoryBlock _volMdb; MasterDirectoryBlock _volMdb;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -76,18 +83,10 @@ public sealed partial class AppleMFS : IReadOnlyFilesystem
// TODO: Implement Finder namespace (requires decoding Desktop database) // TODO: Implement Finder namespace (requires decoding Desktop database)
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => null; public Dictionary<string, string> Namespaces => null;
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
} }

View File

@@ -46,11 +46,7 @@ public sealed partial class AppleMFS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -157,11 +153,7 @@ public sealed partial class AppleMFS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -292,11 +284,7 @@ public sealed partial class AppleMFS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -50,11 +50,7 @@ public sealed partial class AppleMFS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -103,11 +99,7 @@ public sealed partial class AppleMFS
{ {
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -48,6 +48,22 @@ public sealed partial class CBM : IReadOnlyFilesystem
byte[] _root; byte[] _root;
FileSystemInfo _statfs; FileSystemInfo _statfs;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
ulong CbmChsToLba(byte track, byte sector, bool is1581)
{
if(track is 0 or > 40) return 0;
if(is1581) return (ulong)((track - 1) * 40 + sector - 1);
return trackStartingLbas[track - 1] + sector;
}
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -82,27 +98,10 @@ public sealed partial class CBM : IReadOnlyFilesystem
public FileSystem Metadata { get; private set; } public FileSystem Metadata { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => null; public Dictionary<string, string> Namespaces => null;
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
ulong CbmChsToLba(byte track, byte sector, bool is1581)
{
if(track is 0 or > 40) return 0;
if(is1581) return (ulong)((track - 1) * 40 + sector - 1);
return trackStartingLbas[track - 1] + sector;
}
} }

View File

@@ -47,11 +47,7 @@ public sealed partial class CBM
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -71,11 +67,7 @@ public sealed partial class CBM
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -105,11 +97,7 @@ public sealed partial class CBM
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -99,8 +99,7 @@ public sealed partial class CPM : IReadOnlyFilesystem
public string Author => Authors.NataliaPortillo; public string Author => Authors.NataliaPortillo;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => null; public Dictionary<string, string> Namespaces => null;

View File

@@ -46,11 +46,7 @@ public sealed partial class CPM
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -78,11 +74,7 @@ public sealed partial class CPM
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -148,11 +140,7 @@ public sealed partial class CPM
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -45,19 +45,16 @@ public sealed partial class CPM
{ {
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
if(!_fileCache.ContainsKey(pathElements[0].ToUpperInvariant())) return ErrorNumber.NoSuchFile; if(!_fileCache.ContainsKey(pathElements[0].ToUpperInvariant())) return ErrorNumber.NoSuchFile;
if(string.Compare(xattr, "com.caldera.cpm.password", StringComparison.InvariantCulture) == 0) if(string.Compare(xattr, "com.caldera.cpm.password", StringComparison.InvariantCulture) == 0)
if(!_passwordCache.TryGetValue(pathElements[0].ToUpperInvariant(), out buf)) {
return ErrorNumber.NoError; if(!_passwordCache.TryGetValue(pathElements[0].ToUpperInvariant(), out buf)) return ErrorNumber.NoError;
}
if(string.Compare(xattr, "com.caldera.cpm.password.text", StringComparison.InvariantCulture) != 0) if(string.Compare(xattr, "com.caldera.cpm.password.text", StringComparison.InvariantCulture) != 0)
return ErrorNumber.NoSuchExtendedAttribute; return ErrorNumber.NoSuchExtendedAttribute;
@@ -74,11 +71,7 @@ public sealed partial class CPM
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -88,11 +88,7 @@ public sealed partial class FAT
return ErrorNumber.NoError; return ErrorNumber.NoError;
} }
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
KeyValuePair<string, CompleteDirectoryEntry> entry = KeyValuePair<string, CompleteDirectoryEntry> entry =
_rootDirectoryCache.FirstOrDefault(t => t.Key.ToLower(_cultureInfo) == pieces[0]); _rootDirectoryCache.FirstOrDefault(t => t.Key.ToLower(_cultureInfo) == pieces[0]);

View File

@@ -67,6 +67,13 @@ public sealed partial class FAT : IReadOnlyFilesystem
FileSystemInfo _statfs; FileSystemInfo _statfs;
bool _useFirstFat; bool _useFirstFat;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -82,8 +89,7 @@ public sealed partial class FAT : IReadOnlyFilesystem
public string Author => Authors.NataliaPortillo; public string Author => Authors.NataliaPortillo;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => new() public Dictionary<string, string> Namespaces => new()
@@ -106,11 +112,4 @@ public sealed partial class FAT : IReadOnlyFilesystem
}; };
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
} }

View File

@@ -111,11 +111,7 @@ public sealed partial class FAT
string cutPath = path.StartsWith('/') ? path[1..].ToLower(_cultureInfo) : path.ToLower(_cultureInfo); string cutPath = path.StartsWith('/') ? path[1..].ToLower(_cultureInfo) : path.ToLower(_cultureInfo);
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pieces.Length == 0) return ErrorNumber.InvalidArgument; if(pieces.Length == 0) return ErrorNumber.InvalidArgument;

View File

@@ -72,11 +72,7 @@ public sealed partial class XboxFatPlugin
return ErrorNumber.NoError; return ErrorNumber.NoError;
} }
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
KeyValuePair<string, DirectoryEntry> entry = KeyValuePair<string, DirectoryEntry> entry =
_rootDirectory.FirstOrDefault(t => t.Key.ToLower(_cultureInfo) == pieces[0]); _rootDirectory.FirstOrDefault(t => t.Key.ToLower(_cultureInfo) == pieces[0]);

View File

@@ -59,6 +59,13 @@ public sealed partial class XboxFatPlugin : IReadOnlyFilesystem
FileSystemInfo _statfs; FileSystemInfo _statfs;
Superblock _superblock; Superblock _superblock;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -93,18 +100,10 @@ public sealed partial class XboxFatPlugin : IReadOnlyFilesystem
} }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => null; public Dictionary<string, string> Namespaces => null;
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
} }

View File

@@ -80,11 +80,7 @@ public sealed partial class XboxFatPlugin
string cutPath = path.StartsWith('/') ? path[1..].ToLower(_cultureInfo) : path.ToLower(_cultureInfo); string cutPath = path.StartsWith('/') ? path[1..].ToLower(_cultureInfo) : path.ToLower(_cultureInfo);
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pieces.Length == 0) return ErrorNumber.InvalidArgument; if(pieces.Length == 0) return ErrorNumber.InvalidArgument;

View File

@@ -951,11 +951,7 @@ public sealed partial class ISO9660
? path[1..].ToLower(CultureInfo.CurrentUICulture) ? path[1..].ToLower(CultureInfo.CurrentUICulture)
: path.ToLower(CultureInfo.CurrentUICulture); : path.ToLower(CultureInfo.CurrentUICulture);
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
var currentParent = 1; var currentParent = 1;
var currentPiece = 0; var currentPiece = 0;
@@ -1151,11 +1147,7 @@ public sealed partial class ISO9660
return ErrorNumber.NoError; return ErrorNumber.NoError;
} }
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
KeyValuePair<string, DecodedDirectoryEntry> entry = KeyValuePair<string, DecodedDirectoryEntry> entry =
_rootDirectoryCache.FirstOrDefault(t => t.Key.Equals(pieces[0], StringComparison.CurrentCultureIgnoreCase)); _rootDirectoryCache.FirstOrDefault(t => t.Key.Equals(pieces[0], StringComparison.CurrentCultureIgnoreCase));

View File

@@ -52,11 +52,7 @@ public sealed partial class ISO9660
? path[1..].ToLower(CultureInfo.CurrentUICulture) ? path[1..].ToLower(CultureInfo.CurrentUICulture)
: path.ToLower(CultureInfo.CurrentUICulture); : path.ToLower(CultureInfo.CurrentUICulture);
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pieces.Length == 0) return ErrorNumber.InvalidArgument; if(pieces.Length == 0) return ErrorNumber.InvalidArgument;

View File

@@ -76,13 +76,12 @@ public sealed partial class ISO9660 : IReadOnlyFilesystem
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
new (string name, Type type, string description)[] [
{ ("use_path_table", typeof(bool), "Use path table for directory traversal"),
("use_path_table", typeof(bool), "Use path table for directory traversal"), ("use_trans_tbl", typeof(bool), "Use TRANS.TBL for filenames"),
("use_trans_tbl", typeof(bool), "Use TRANS.TBL for filenames"), ("use_evd", typeof(bool),
("use_evd", typeof(bool), "If present, use Enhanced Volume Descriptor with specified encoding (overrides namespace)")
"If present, use Enhanced Volume Descriptor with specified encoding (overrides namespace)") ];
};
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => new() public Dictionary<string, string> Namespaces => new()

View File

@@ -105,9 +105,8 @@ public sealed partial class LisaFS
if(!_mounted || !_debug) return ErrorNumber.AccessDenied; if(!_mounted || !_debug) return ErrorNumber.AccessDenied;
if(fileId is > 4 or <= 0) if(fileId is > 4 or <= 0)
{ if(fileId != FILEID_BOOT_SIGNED && fileId != FILEID_LOADER_SIGNED)
if(fileId != FILEID_BOOT_SIGNED && fileId != FILEID_LOADER_SIGNED) return ErrorNumber.InvalidArgument; return ErrorNumber.InvalidArgument;
}
if(_systemFileCache.TryGetValue(fileId, out buf) && !tags) return ErrorNumber.NoError; if(_systemFileCache.TryGetValue(fileId, out buf) && !tags) return ErrorNumber.NoError;
@@ -330,9 +329,8 @@ public sealed partial class LisaFS
if(!tags) if(!tags)
{ {
if(_fileSizeCache.TryGetValue(fileId, out int realSize)) if(_fileSizeCache.TryGetValue(fileId, out int realSize))
{ if(realSize > temp.Length)
if(realSize > temp.Length) AaruLogging.Error(Localization.File_0_gets_truncated, fileId); AaruLogging.Error(Localization.File_0_gets_truncated, fileId);
}
buf = temp; buf = temp;
@@ -351,11 +349,7 @@ public sealed partial class LisaFS
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
switch(pathElements.Length) switch(pathElements.Length)
{ {

View File

@@ -50,6 +50,13 @@ public sealed partial class LisaFS : IReadOnlyFilesystem
SRecord[] _srecords; SRecord[] _srecords;
ulong _volumePrefix; ulong _volumePrefix;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -66,8 +73,7 @@ public sealed partial class LisaFS : IReadOnlyFilesystem
// TODO: Implement Lisa 7/7 namespace (needs decoding {!CATALOG} file) // TODO: Implement Lisa 7/7 namespace (needs decoding {!CATALOG} file)
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => new() public Dictionary<string, string> Namespaces => new()
@@ -82,13 +88,6 @@ public sealed partial class LisaFS : IReadOnlyFilesystem
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region Caches #region Caches
/// <summary>Caches Extents Files</summary> /// <summary>Caches Extents Files</summary>

View File

@@ -132,11 +132,7 @@ public sealed partial class OperaFS
return ErrorNumber.NoError; return ErrorNumber.NoError;
} }
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
KeyValuePair<string, DirectoryEntryWithPointers> entry = KeyValuePair<string, DirectoryEntryWithPointers> entry =
_rootDirectoryCache.FirstOrDefault(t => t.Key.Equals(pieces[0], StringComparison.CurrentCultureIgnoreCase)); _rootDirectoryCache.FirstOrDefault(t => t.Key.Equals(pieces[0], StringComparison.CurrentCultureIgnoreCase));

View File

@@ -47,11 +47,7 @@ public sealed partial class OperaFS
? path[1..].ToLower(CultureInfo.CurrentUICulture) ? path[1..].ToLower(CultureInfo.CurrentUICulture)
: path.ToLower(CultureInfo.CurrentUICulture); : path.ToLower(CultureInfo.CurrentUICulture);
string[] pieces = cutPath.Split(new[] string[] pieces = cutPath.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pieces.Length == 0) return ErrorNumber.InvalidArgument; if(pieces.Length == 0) return ErrorNumber.InvalidArgument;

View File

@@ -49,6 +49,13 @@ public sealed partial class OperaFS : IReadOnlyFilesystem
FileSystemInfo _statfs; FileSystemInfo _statfs;
uint _volumeBlockSizeRatio; uint _volumeBlockSizeRatio;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -83,18 +90,10 @@ public sealed partial class OperaFS : IReadOnlyFilesystem
} }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => null; public Dictionary<string, string> Namespaces => null;
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
} }

View File

@@ -68,11 +68,7 @@ public sealed partial class PascalPlugin
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -92,11 +88,7 @@ public sealed partial class PascalPlugin
if(!_mounted) return ErrorNumber.AccessDenied; if(!_mounted) return ErrorNumber.AccessDenied;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;
@@ -175,11 +167,7 @@ public sealed partial class PascalPlugin
{ {
stat = null; stat = null;
string[] pathElements = path.Split(new[] string[] pathElements = path.Split(['/'], StringSplitOptions.RemoveEmptyEntries);
{
'/'
},
StringSplitOptions.RemoveEmptyEntries);
if(pathElements.Length != 1) return ErrorNumber.NotSupported; if(pathElements.Length != 1) return ErrorNumber.NotSupported;

View File

@@ -56,6 +56,13 @@ public sealed partial class PascalPlugin : IReadOnlyFilesystem
/// <summary>Apple II disks use 256 bytes / sector, but filesystem assumes it's 512 bytes / sector</summary> /// <summary>Apple II disks use 256 bytes / sector, but filesystem assumes it's 512 bytes / sector</summary>
uint _multiplier; uint _multiplier;
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
#region IReadOnlyFilesystem Members #region IReadOnlyFilesystem Members
/// <inheritdoc /> /// <inheritdoc />
@@ -90,18 +97,10 @@ public sealed partial class PascalPlugin : IReadOnlyFilesystem
} }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description)> SupportedOptions => public IEnumerable<(string name, Type type, string description)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description)>();
/// <inheritdoc /> /// <inheritdoc />
public Dictionary<string, string> Namespaces => null; public Dictionary<string, string> Namespaces => null;
#endregion #endregion
static Dictionary<string, string> GetDefaultOptions() => new()
{
{
"debug", false.ToString()
}
};
} }

View File

@@ -299,7 +299,7 @@ public class HexViewPanel : UserControl
private void OnDataChanged() private void OnDataChanged()
{ {
_data = Data ?? Array.Empty<byte>(); _data = Data ?? [];
UpdateDisplay(); UpdateDisplay();
} }
@@ -329,9 +329,8 @@ public class HexViewPanel : UserControl
foreach(ColorRange range in ColorRanges) foreach(ColorRange range in ColorRanges)
{ {
for(int i = range.Start; i <= range.End && i < _data.Length; i++) for(int i = range.Start; i <= range.End && i < _data.Length; i++)
{ if(!colorLookup.ContainsKey(i))
if(!colorLookup.ContainsKey(i)) colorLookup[i] = range.Color; colorLookup[i] = range.Color;
}
} }
} }

View File

@@ -63,7 +63,7 @@ public sealed partial class MediaScanViewModel : ViewModelBase
{ {
readonly Device _device; readonly Device _device;
readonly string _devicePath; readonly string _devicePath;
readonly List<(ulong startingSector, double duration)> _pendingSectorData = new(); readonly List<(ulong startingSector, double duration)> _pendingSectorData = [];
readonly object _pendingSectorDataLock = new(); readonly object _pendingSectorDataLock = new();
readonly Window _view; readonly Window _view;
[ObservableProperty] [ObservableProperty]

View File

@@ -75,28 +75,24 @@ public sealed partial class A2R
#region IWritableImage Members #region IWritableImage Members
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".a2r"];
{
".a2r"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => null; public IEnumerable<MediaTagType> SupportedMediaTags => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
// TODO: A2R supports a lot more formats, please add more whence tested. // TODO: A2R supports a lot more formats, please add more whence tested.
MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD,
MediaType.Apple32SS, MediaType.AppleSonyDS, MediaType.Unknown MediaType.Apple32SS, MediaType.AppleSonyDS, MediaType.Unknown
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -159,46 +159,43 @@ public sealed partial class Alcohol120
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => new[] public IEnumerable<MediaTagType> SupportedMediaTags =>
{ [
MediaTagType.CD_FullTOC, MediaTagType.DVD_BCA, MediaTagType.DVD_DMI, MediaTagType.DVD_PFI MediaTagType.CD_FullTOC, MediaTagType.DVD_BCA, MediaTagType.DVD_DMI, MediaTagType.DVD_PFI
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => new[] public IEnumerable<SectorTagType> SupportedSectorTags =>
{ [
SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ, SectorTagType.CdSectorEdc, SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ,
SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubHeader, SectorTagType.CdSectorSync, SectorTagType.CdSectorEdc, SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubHeader,
SectorTagType.CdTrackFlags, SectorTagType.CdSectorSubchannel SectorTagType.CdSectorSync, SectorTagType.CdTrackFlags, SectorTagType.CdSectorSubchannel
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.BDR, MediaType.BDRE, MediaType.BDREXL, MediaType.BDROM, MediaType.UHDBD, MediaType.BDRXL, MediaType.BDR, MediaType.BDRE, MediaType.BDREXL, MediaType.BDROM, MediaType.UHDBD, MediaType.BDRXL,
MediaType.CBHD, MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI, MediaType.CDMIDI, MediaType.CBHD, MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI,
MediaType.CDMRW, MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA, MediaType.CDRW, MediaType.CDMIDI, MediaType.CDMRW, MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA,
MediaType.CDV, MediaType.DVDDownload, MediaType.DVDPR, MediaType.DVDPRDL, MediaType.DVDPRW, MediaType.DVDPRWDL, MediaType.CDRW, MediaType.CDV, MediaType.DVDDownload, MediaType.DVDPR, MediaType.DVDPRDL, MediaType.DVDPRW,
MediaType.DVDR, MediaType.DVDRAM, MediaType.DVDRDL, MediaType.DVDROM, MediaType.DVDRW, MediaType.DVDRWDL, MediaType.DVDPRWDL, MediaType.DVDR, MediaType.DVDRAM, MediaType.DVDRDL, MediaType.DVDROM, MediaType.DVDRW,
MediaType.EVD, MediaType.FDDVD, MediaType.DTSCD, MediaType.FVD, MediaType.HDDVDR, MediaType.HDDVDRAM, MediaType.DVDRWDL, MediaType.EVD, MediaType.FDDVD, MediaType.DTSCD, MediaType.FVD, MediaType.HDDVDR,
MediaType.HDDVDRDL, MediaType.HDDVDROM, MediaType.HDDVDRW, MediaType.HDDVDRWDL, MediaType.HDVMD, MediaType.HVD, MediaType.HDDVDRAM, MediaType.HDDVDRDL, MediaType.HDDVDROM, MediaType.HDDVDRW, MediaType.HDDVDRWDL,
MediaType.JaguarCD, MediaType.MEGACD, MediaType.PS1CD, MediaType.PS2CD, MediaType.PS2DVD, MediaType.PS3BD, MediaType.HDVMD, MediaType.HVD, MediaType.JaguarCD, MediaType.MEGACD, MediaType.PS1CD, MediaType.PS2CD,
MediaType.PS3DVD, MediaType.PS4BD, MediaType.PS5BD, MediaType.SuperCDROM2, MediaType.SVCD, MediaType.SVOD, MediaType.PS2DVD, MediaType.PS3BD, MediaType.PS3DVD, MediaType.PS4BD, MediaType.PS5BD,
MediaType.SATURNCD, MediaType.ThreeDO, MediaType.UDO, MediaType.UDO2, MediaType.UDO2_WORM, MediaType.UMD, MediaType.SuperCDROM2, MediaType.SVCD, MediaType.SVOD, MediaType.SATURNCD, MediaType.ThreeDO, MediaType.UDO,
MediaType.VCD, MediaType.VCDHD, MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.UDO2, MediaType.UDO2_WORM, MediaType.UMD, MediaType.VCD, MediaType.VCDHD, MediaType.NeoGeoCD,
MediaType.Nuon, MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin,
MediaType.VideoNowColor, MediaType.VideoNowXp, MediaType.CVD, MediaType.PCD MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow, MediaType.VideoNowColor, MediaType.VideoNowXp,
}; MediaType.CVD, MediaType.PCD
];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".mds"];
{
".mds"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,15 +67,15 @@ public sealed partial class Anex86
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
// TODO: Test with real hardware to see real supported media // TODO: Test with real hardware to see real supported media
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.IBM23FD, MediaType.ECMA_66, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.IBM23FD, MediaType.ECMA_66, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9,
MediaType.ACORN_525_SS_SD_40, MediaType.ACORN_525_SS_DD_40, MediaType.ATARI_525_SD, MediaType.ATARI_525_DD, MediaType.ACORN_525_SS_SD_40, MediaType.ACORN_525_SS_DD_40, MediaType.ATARI_525_SD, MediaType.ATARI_525_DD,
MediaType.ATARI_525_ED, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.ECMA_70, MediaType.ATARI_525_ED, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.ECMA_70,
@@ -85,20 +85,17 @@ public sealed partial class Anex86
MediaType.ACORN_35_DS_DD, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.ACORN_35_DS_HD, MediaType.ACORN_35_DS_DD, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.ACORN_35_DS_HD,
MediaType.DOS_525_HD, MediaType.ACORN_525_DS_DD, MediaType.DOS_35_HD, MediaType.XDF_525, MediaType.DMF, MediaType.DOS_525_HD, MediaType.ACORN_525_DS_DD, MediaType.DOS_35_HD, MediaType.XDF_525, MediaType.DMF,
MediaType.XDF_35, MediaType.DOS_35_ED, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_525_HD, MediaType.XDF_35, MediaType.DOS_35_ED, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_525_HD,
MediaType.FDFORMAT_35_HD, MediaType.NEC_35_TD, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.FDFORMAT_35_HD, MediaType.NEC_35_TD, MediaType.Unknown, MediaType.GENERIC_HDD,
MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.PCCardTypeI,
MediaType.PCCardTypeIII, MediaType.PCCardTypeIV, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.PCCardTypeIV, MediaType.MetaFloppy_Mod_I,
}; MediaType.MetaFloppy_Mod_II
];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".fdi", ".hdi"];
{
".fdi", ".hdi"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,29 +67,25 @@ public sealed partial class Apple2Mg
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Apple32SS, MediaType.Apple33SS, MediaType.AppleSonySS, MediaType.AppleSonyDS, MediaType.DOS_35_HD, MediaType.Apple32SS, MediaType.Apple33SS, MediaType.AppleSonySS, MediaType.AppleSonyDS, MediaType.DOS_35_HD,
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".2mg"];
{
".2mg"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -69,26 +69,19 @@ public sealed partial class AppleDos
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.Apple33SS];
{
MediaType.Apple33SS
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".do", ".po"];
{
".do", ".po"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,35 +67,32 @@ public sealed partial class Apridisk
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
// TODO: Test with real hardware to see real supported media // TODO: Test with real hardware to see real supported media
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.ACORN_35_DS_DD, MediaType.ACORN_35_DS_HD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD, MediaType.ACORN_35_DS_DD, MediaType.ACORN_35_DS_HD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD,
MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.ATARI_35_SS_DD_11, MediaType.DMF, MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.ATARI_35_SS_DD_11, MediaType.DMF,
MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,
MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8,
MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9,
MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD,
MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
{ [
("compress", typeof(bool), Localization.Enable_Apridisk_compression, (object)false) ("compress", typeof(bool), Localization.Enable_Apridisk_compression, false)
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".dsk"];
{
".dsk"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -69,31 +69,24 @@ public sealed partial class Blu
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => new[] public IEnumerable<SectorTagType> SupportedSectorTags => [SectorTagType.AppleSonyTag];
{
SectorTagType.AppleSonyTag
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.AppleProfile, MediaType.AppleWidget, MediaType.PriamDataTower, MediaType.GENERIC_HDD, MediaType.AppleProfile, MediaType.AppleWidget, MediaType.PriamDataTower, MediaType.GENERIC_HDD,
MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.CompactFlashType2,
MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.PCCardTypeIV MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".blu"]; // Just invented
{
".blu"
}; // Just invented
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -407,10 +407,8 @@ public sealed partial class BlindWrite4
if(_dataFilter != null) break; if(_dataFilter != null) break;
_dataFilter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, _dataFilter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
_header.DataFile.Split(new[] _header.DataFile
{ .Split(['\\'],
'\\'
},
StringSplitOptions StringSplitOptions
.RemoveEmptyEntries) .RemoveEmptyEntries)
.Last())); .Last()));
@@ -418,10 +416,8 @@ public sealed partial class BlindWrite4
if(_dataFilter != null) break; if(_dataFilter != null) break;
_dataFilter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, _dataFilter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
_header.DataFile.Split(new[] _header.DataFile
{ .Split(['\\'],
'\\'
},
StringSplitOptions StringSplitOptions
.RemoveEmptyEntries) .RemoveEmptyEntries)
.Last() .Last()
@@ -430,10 +426,8 @@ public sealed partial class BlindWrite4
if(_dataFilter != null) break; if(_dataFilter != null) break;
_dataFilter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, _dataFilter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
_header.DataFile.Split(new[] _header.DataFile
{ .Split(['\\'],
'\\'
},
StringSplitOptions StringSplitOptions
.RemoveEmptyEntries) .RemoveEmptyEntries)
.Last() .Last()
@@ -465,26 +459,21 @@ public sealed partial class BlindWrite4
_header.SubchannelFile _header.SubchannelFile
.ToUpper(CultureInfo.CurrentCulture)))) ?? .ToUpper(CultureInfo.CurrentCulture)))) ??
PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
_header.SubchannelFile.Split(new[] _header.SubchannelFile
{ .Split(['\\'],
'\\' StringSplitOptions
}, .RemoveEmptyEntries)
StringSplitOptions.RemoveEmptyEntries)
.Last()))) ?? .Last()))) ??
PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
_header.SubchannelFile.Split(new[] _header.SubchannelFile
{ .Split(['\\'],
'\\' StringSplitOptions.RemoveEmptyEntries)
},
StringSplitOptions.RemoveEmptyEntries)
.Last() .Last()
.ToLower(CultureInfo.CurrentCulture)))) ?? .ToLower(CultureInfo.CurrentCulture)))) ??
PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
_header.SubchannelFile.Split(new[] _header.SubchannelFile
{ .Split(['\\'],
'\\' StringSplitOptions.RemoveEmptyEntries)
},
StringSplitOptions.RemoveEmptyEntries)
.Last() .Last()
.ToUpper(CultureInfo.CurrentCulture))); .ToUpper(CultureInfo.CurrentCulture)));
} }
@@ -532,10 +521,8 @@ public sealed partial class BlindWrite4
if(track.Filter != null) break; if(track.Filter != null) break;
track.Filter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, track.Filter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
bwTrack.filename.Split(new[] bwTrack.filename
{ .Split(['\\'],
'\\'
},
StringSplitOptions StringSplitOptions
.RemoveEmptyEntries) .RemoveEmptyEntries)
.Last())); .Last()));
@@ -543,10 +530,8 @@ public sealed partial class BlindWrite4
if(track.Filter != null) break; if(track.Filter != null) break;
track.Filter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, track.Filter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
bwTrack.filename.Split(new[] bwTrack.filename
{ .Split(['\\'],
'\\'
},
StringSplitOptions StringSplitOptions
.RemoveEmptyEntries) .RemoveEmptyEntries)
.Last() .Last()
@@ -556,10 +541,8 @@ public sealed partial class BlindWrite4
if(track.Filter != null) break; if(track.Filter != null) break;
track.Filter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder, track.Filter = PluginRegister.Singleton.GetFilter(Path.Combine(imageFilter.ParentFolder,
bwTrack.filename.Split(new[] bwTrack.filename
{ .Split(['\\'],
'\\'
},
StringSplitOptions StringSplitOptions
.RemoveEmptyEntries) .RemoveEmptyEntries)
.Last() .Last()
@@ -745,9 +728,8 @@ public sealed partial class BlindWrite4
// As long as subchannel is written for any track, it is present for all tracks // As long as subchannel is written for any track, it is present for all tracks
if(Tracks.Any(static t => t.SubchannelType == TrackSubchannelType.Packed)) if(Tracks.Any(static t => t.SubchannelType == TrackSubchannelType.Packed))
{ foreach(Track track in Tracks)
foreach(Track track in Tracks) track.SubchannelType = TrackSubchannelType.Packed; track.SubchannelType = TrackSubchannelType.Packed;
}
_imageInfo.MediaType = MediaType.CD; _imageInfo.MediaType = MediaType.CD;

View File

@@ -136,26 +136,19 @@ public partial class AtariLynx : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".lnx"];
{
".lnx"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.AtariLynxCard];
{
MediaType.AtariLynxCard
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -146,26 +146,19 @@ public partial class GameBoy : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".gb", ".gbc", ".sgb"];
{
".gb", ".gbc", ".sgb"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.GameBoyGamePak];
{
MediaType.GameBoyGamePak
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -126,26 +126,19 @@ public partial class GameBoyAdvance : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".gba"];
{
".gba"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.GameBoyAdvanceGamePak];
{
MediaType.GameBoyAdvanceGamePak
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -229,26 +229,19 @@ public partial class MasterSystem : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".sms", ".gg"];
{
".sms", ".gg"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.MasterSystemCartridge, MediaType.GameGearCartridge];
{
MediaType.MasterSystemCartridge, MediaType.GameGearCartridge
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -272,26 +272,19 @@ public class Nes : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".nes"];
{
".nes"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.NESGamePak, MediaType.FamicomGamePak];
{
MediaType.NESGamePak, MediaType.FamicomGamePak
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -797,26 +797,19 @@ public partial class Nintendo64 : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".n64", ".v64", ".z64"];
{
".n64", ".v64", ".z64"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.N64GamePak];
{
MediaType.N64GamePak
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -361,26 +361,22 @@ public partial class SegaMegaDrive : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".smd", ".md", ".32x"];
{
".smd", ".md", ".32x"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType._32XCartridge, MediaType.MegaDriveCartridge, MediaType.SegaPicoCartridge MediaType._32XCartridge, MediaType.MegaDriveCartridge, MediaType.SegaPicoCartridge
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -249,26 +249,19 @@ public class SuperNintendo : IByteAddressableImage
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".sfc"];
{
".sfc"
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.SNESGamePak, MediaType.SNESGamePakUS];
{
MediaType.SNESGamePak, MediaType.SNESGamePakUS
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors, public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,

View File

@@ -185,42 +185,37 @@ public sealed partial class Cdrdao
// TODO: Decode CD-Text to text // TODO: Decode CD-Text to text
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => new[] public IEnumerable<MediaTagType> SupportedMediaTags => [MediaTagType.CD_MCN];
{
MediaTagType.CD_MCN
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => new[] public IEnumerable<SectorTagType> SupportedSectorTags =>
{ [
SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ, SectorTagType.CdSectorEdc, SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ,
SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubchannel, SectorTagType.CdSectorSubHeader, SectorTagType.CdSectorEdc, SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubchannel,
SectorTagType.CdSectorSync, SectorTagType.CdTrackFlags, SectorTagType.CdTrackIsrc SectorTagType.CdSectorSubHeader, SectorTagType.CdSectorSync, SectorTagType.CdTrackFlags,
}; SectorTagType.CdTrackIsrc
];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI, MediaType.CDMIDI, MediaType.CDMRW, MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI, MediaType.CDMIDI,
MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA, MediaType.CDRW, MediaType.CDV, MediaType.CDMRW, MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA, MediaType.CDRW,
MediaType.DDCD, MediaType.DDCDR, MediaType.DDCDRW, MediaType.MEGACD, MediaType.PS1CD, MediaType.PS2CD, MediaType.CDV, MediaType.DDCD, MediaType.DDCDR, MediaType.DDCDRW, MediaType.MEGACD, MediaType.PS1CD,
MediaType.SuperCDROM2, MediaType.SVCD, MediaType.SATURNCD, MediaType.ThreeDO, MediaType.VCD, MediaType.VCDHD, MediaType.PS2CD, MediaType.SuperCDROM2, MediaType.SVCD, MediaType.SATURNCD, MediaType.ThreeDO,
MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.VCD, MediaType.VCDHD, MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32,
MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow, MediaType.VideoNowColor, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow,
MediaType.VideoNowXp, MediaType.CVD, MediaType.PCD MediaType.VideoNowColor, MediaType.VideoNowXp, MediaType.CVD, MediaType.PCD
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
{ [
("separate", typeof(bool), Localization.Write_each_track_to_a_separate_file, (object)false) ("separate", typeof(bool), Localization.Write_each_track_to_a_separate_file, false)
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".toc"];
{
".toc"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -501,8 +501,9 @@ public sealed partial class Cdrdao
} }
if(_writingTracks != null && _writingStreams != null) if(_writingTracks != null && _writingStreams != null)
foreach(FileStream oldTrack in _writingStreams.Select(static t => t.Value).Distinct()) {
oldTrack.Close(); foreach(FileStream oldTrack in _writingStreams.Select(static t => t.Value).Distinct()) oldTrack.Close();
}
ulong currentOffset = 0; ulong currentOffset = 0;
_writingTracks = []; _writingTracks = [];
@@ -598,11 +599,7 @@ public sealed partial class Cdrdao
if(!string.IsNullOrWhiteSpace(_discimage.Comment)) if(!string.IsNullOrWhiteSpace(_discimage.Comment))
{ {
string[] commentLines = _discimage.Comment.Split(new[] string[] commentLines = _discimage.Comment.Split(['\n'], StringSplitOptions.RemoveEmptyEntries);
{
'\n'
},
StringSplitOptions.RemoveEmptyEntries);
foreach(string line in commentLines) _descriptorStream.WriteLine("// {0}", line); foreach(string line in commentLines) _descriptorStream.WriteLine("// {0}", line);
} }

View File

@@ -90,7 +90,7 @@ public sealed partial class CdrWin
ulong previousStartSector = 0; ulong previousStartSector = 0;
const ulong gdRomSession2Offset = 45000; const ulong gdRomSession2Offset = 45000;
string previousTrackFile = ""; var previousTrackFile = "";
foreach(CdrWinTrack cdrTrack in _discImage.Tracks) foreach(CdrWinTrack cdrTrack in _discImage.Tracks)
{ {
@@ -178,49 +178,43 @@ public sealed partial class CdrWin
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => new[] public IEnumerable<MediaTagType> SupportedMediaTags => [MediaTagType.CD_MCN, MediaTagType.CD_TEXT];
{
MediaTagType.CD_MCN, MediaTagType.CD_TEXT
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => new[] public IEnumerable<SectorTagType> SupportedSectorTags =>
{ [
SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ, SectorTagType.CdSectorEdc, SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ,
SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubHeader, SectorTagType.CdSectorSync, SectorTagType.CdSectorEdc, SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubHeader,
SectorTagType.CdTrackFlags, SectorTagType.CdTrackIsrc SectorTagType.CdSectorSync, SectorTagType.CdTrackFlags, SectorTagType.CdTrackIsrc
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.BDR, MediaType.BDRE, MediaType.BDREXL, MediaType.BDROM, MediaType.UHDBD, MediaType.BDRXL, MediaType.BDR, MediaType.BDRE, MediaType.BDREXL, MediaType.BDROM, MediaType.UHDBD, MediaType.BDRXL,
MediaType.CBHD, MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI, MediaType.CDMIDI, MediaType.CBHD, MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI,
MediaType.CDMRW, MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA, MediaType.CDRW, MediaType.CDMIDI, MediaType.CDMRW, MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA,
MediaType.CDV, MediaType.DDCD, MediaType.DDCDR, MediaType.DDCDRW, MediaType.DVDDownload, MediaType.DVDPR, MediaType.CDRW, MediaType.CDV, MediaType.DDCD, MediaType.DDCDR, MediaType.DDCDRW, MediaType.DVDDownload,
MediaType.DVDPRDL, MediaType.DVDPRW, MediaType.DVDPRWDL, MediaType.DVDR, MediaType.DVDRAM, MediaType.DVDRDL, MediaType.DVDPR, MediaType.DVDPRDL, MediaType.DVDPRW, MediaType.DVDPRWDL, MediaType.DVDR, MediaType.DVDRAM,
MediaType.DVDROM, MediaType.DVDRW, MediaType.DVDRWDL, MediaType.EVD, MediaType.FDDVD, MediaType.DTSCD, MediaType.DVDRDL, MediaType.DVDROM, MediaType.DVDRW, MediaType.DVDRWDL, MediaType.EVD, MediaType.FDDVD,
MediaType.FVD, MediaType.HDDVDR, MediaType.HDDVDRAM, MediaType.HDDVDRDL, MediaType.HDDVDROM, MediaType.HDDVDRW, MediaType.DTSCD, MediaType.FVD, MediaType.HDDVDR, MediaType.HDDVDRAM, MediaType.HDDVDRDL,
MediaType.HDDVDRWDL, MediaType.HDVMD, MediaType.HVD, MediaType.JaguarCD, MediaType.MEGACD, MediaType.PS1CD, MediaType.HDDVDROM, MediaType.HDDVDRW, MediaType.HDDVDRWDL, MediaType.HDVMD, MediaType.HVD,
MediaType.PS2CD, MediaType.PS2DVD, MediaType.PS3BD, MediaType.PS3DVD, MediaType.PS4BD, MediaType.PS5BD, MediaType.JaguarCD, MediaType.MEGACD, MediaType.PS1CD, MediaType.PS2CD, MediaType.PS2DVD, MediaType.PS3BD,
MediaType.SuperCDROM2, MediaType.SVCD, MediaType.SVOD, MediaType.SATURNCD, MediaType.ThreeDO, MediaType.UDO, MediaType.PS3DVD, MediaType.PS4BD, MediaType.PS5BD, MediaType.SuperCDROM2, MediaType.SVCD, MediaType.SVOD,
MediaType.UDO2, MediaType.UDO2_WORM, MediaType.UMD, MediaType.VCD, MediaType.VCDHD, MediaType.NeoGeoCD, MediaType.SATURNCD, MediaType.ThreeDO, MediaType.UDO, MediaType.UDO2, MediaType.UDO2_WORM, MediaType.UMD,
MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin, MediaType.VCD, MediaType.VCDHD, MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32,
MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow, MediaType.VideoNowColor, MediaType.VideoNowXp, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow,
MediaType.CVD, MediaType.PCD MediaType.VideoNowColor, MediaType.VideoNowXp, MediaType.CVD, MediaType.PCD
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
{ [
("separate", typeof(bool), Localization.Write_each_track_to_a_separate_file, (object)false) ("separate", typeof(bool), Localization.Write_each_track_to_a_separate_file, false)
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".cue"];
{
".cue"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -436,8 +436,9 @@ public sealed partial class CdrWin
} }
if(_writingTracks != null && _writingStreams != null) if(_writingTracks != null && _writingStreams != null)
foreach(FileStream oldTrack in _writingStreams.Select(static t => t.Value).Distinct()) {
oldTrack.Close(); foreach(FileStream oldTrack in _writingStreams.Select(static t => t.Value).Distinct()) oldTrack.Close();
}
_writingTracks = []; _writingTracks = [];
@@ -505,11 +506,7 @@ public sealed partial class CdrWin
if(!string.IsNullOrWhiteSpace(_discImage.Comment)) if(!string.IsNullOrWhiteSpace(_discImage.Comment))
{ {
string[] commentLines = _discImage.Comment.Split(new[] string[] commentLines = _discImage.Comment.Split(['\n'], StringSplitOptions.RemoveEmptyEntries);
{
'\n'
},
StringSplitOptions.RemoveEmptyEntries);
foreach(string line in commentLines) _descriptorStream.WriteLine("REM {0}", line); foreach(string line in commentLines) _descriptorStream.WriteLine("REM {0}", line);
} }

View File

@@ -67,28 +67,24 @@ public sealed partial class CisCopy
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
// TODO: Test with real hardware to see real supported media // TODO: Test with real hardware to see real supported media
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9,
MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9 MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".dcf"];
{
".dcf"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -93,40 +93,33 @@ public sealed partial class CloneCd
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => new[] public IEnumerable<MediaTagType> SupportedMediaTags => [MediaTagType.CD_MCN, MediaTagType.CD_FullTOC];
{
MediaTagType.CD_MCN, MediaTagType.CD_FullTOC
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => new[] public IEnumerable<SectorTagType> SupportedSectorTags =>
{ [
SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ, SectorTagType.CdSectorEdc, SectorTagType.CdSectorEcc, SectorTagType.CdSectorEccP, SectorTagType.CdSectorEccQ,
SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubHeader, SectorTagType.CdSectorSync, SectorTagType.CdSectorEdc, SectorTagType.CdSectorHeader, SectorTagType.CdSectorSubHeader,
SectorTagType.CdTrackFlags, SectorTagType.CdSectorSubchannel SectorTagType.CdSectorSync, SectorTagType.CdTrackFlags, SectorTagType.CdSectorSubchannel
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI, MediaType.CDMIDI, MediaType.CDMRW, MediaType.CD, MediaType.CDDA, MediaType.CDEG, MediaType.CDG, MediaType.CDI, MediaType.CDMIDI,
MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA, MediaType.CDRW, MediaType.CDV, MediaType.CDMRW, MediaType.CDPLUS, MediaType.CDR, MediaType.CDROM, MediaType.CDROMXA, MediaType.CDRW,
MediaType.DTSCD, MediaType.JaguarCD, MediaType.MEGACD, MediaType.PS1CD, MediaType.PS2CD, MediaType.SuperCDROM2, MediaType.CDV, MediaType.DTSCD, MediaType.JaguarCD, MediaType.MEGACD, MediaType.PS1CD, MediaType.PS2CD,
MediaType.SVCD, MediaType.SATURNCD, MediaType.ThreeDO, MediaType.VCD, MediaType.VCDHD, MediaType.NeoGeoCD, MediaType.SuperCDROM2, MediaType.SVCD, MediaType.SATURNCD, MediaType.ThreeDO, MediaType.VCD,
MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin, MediaType.VCDHD, MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon,
MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow, MediaType.VideoNowColor, MediaType.VideoNowXp, MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD, MediaType.VideoNow,
MediaType.CVD, MediaType.PCD MediaType.VideoNowColor, MediaType.VideoNowXp, MediaType.CVD, MediaType.PCD
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".ccd"];
{
".ccd"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -226,11 +226,7 @@ public sealed partial class CloneCd
AaruLogging.Debug(MODULE_NAME, Localization.Found_CD_Text_Entry_at_line_0, lineNumber); AaruLogging.Debug(MODULE_NAME, Localization.Found_CD_Text_Entry_at_line_0, lineNumber);
string[] bytes = cdtEntMatch.Groups["value"] string[] bytes = cdtEntMatch.Groups["value"]
.Value.Split(new[] .Value.Split([' '], StringSplitOptions.RemoveEmptyEntries);
{
' '
},
StringSplitOptions.RemoveEmptyEntries);
foreach(string byt in bytes) cdtMs.WriteByte(Convert.ToByte(byt, 16)); foreach(string byt in bytes) cdtMs.WriteByte(Convert.ToByte(byt, 16));
} }

View File

@@ -1,6 +1,4 @@
using System.Collections.Generic;
using System.IO; using System.IO;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces; using Aaru.CommonTypes.Interfaces;
using Aaru.CommonTypes.Structs; using Aaru.CommonTypes.Structs;
@@ -16,8 +14,8 @@ public sealed partial class CopyTape : IWritableTapeImage
public CopyTape() => _imageInfo = new ImageInfo public CopyTape() => _imageInfo = new ImageInfo
{ {
ReadableSectorTags = new List<SectorTagType>(), ReadableSectorTags = [],
ReadableMediaTags = new List<MediaTagType>(), ReadableMediaTags = [],
HasPartitions = true, HasPartitions = true,
HasSessions = true, HasSessions = true,
Version = null, Version = null,

View File

@@ -78,49 +78,46 @@ public sealed partial class CopyTape
public bool IsTape { get; set; } public bool IsTape { get; set; }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.UnknownTape, MediaType.ADR2120, MediaType.ADR260, MediaType.ADR30, MediaType.ADR50, MediaType.AIT1, MediaType.UnknownTape, MediaType.ADR2120, MediaType.ADR260, MediaType.ADR30, MediaType.ADR50,
MediaType.AIT1Turbo, MediaType.AIT2, MediaType.AIT2Turbo, MediaType.AIT3, MediaType.AIT3Ex, MediaType.AIT3Turbo, MediaType.AIT1, MediaType.AIT1Turbo, MediaType.AIT2, MediaType.AIT2Turbo, MediaType.AIT3, MediaType.AIT3Ex,
MediaType.AIT4, MediaType.AIT5, MediaType.AITETurbo, MediaType.SAIT1, MediaType.SAIT2, MediaType.Ditto, MediaType.AIT3Turbo, MediaType.AIT4, MediaType.AIT5, MediaType.AITETurbo, MediaType.SAIT1, MediaType.SAIT2,
MediaType.DittoMax, MediaType.DigitalAudioTape, MediaType.DAT160, MediaType.DAT320, MediaType.DAT72, MediaType.Ditto, MediaType.DittoMax, MediaType.DigitalAudioTape, MediaType.DAT160, MediaType.DAT320,
MediaType.DDS1, MediaType.DDS2, MediaType.DDS3, MediaType.DDS4, MediaType.CompactTapeI, MediaType.CompactTapeII, MediaType.DAT72, MediaType.DDS1, MediaType.DDS2, MediaType.DDS3, MediaType.DDS4, MediaType.CompactTapeI,
MediaType.DECtapeII, MediaType.DLTtapeIII, MediaType.DLTtapeIIIxt, MediaType.DLTtapeIV, MediaType.DLTtapeS4, MediaType.CompactTapeII, MediaType.DECtapeII, MediaType.DLTtapeIII, MediaType.DLTtapeIIIxt,
MediaType.SDLT1, MediaType.SDLT2, MediaType.VStapeI, MediaType.Exatape15m, MediaType.Exatape22m, MediaType.DLTtapeIV, MediaType.DLTtapeS4, MediaType.SDLT1, MediaType.SDLT2, MediaType.VStapeI,
MediaType.Exatape22mAME, MediaType.Exatape28m, MediaType.Exatape40m, MediaType.Exatape45m, MediaType.Exatape54m, MediaType.Exatape15m, MediaType.Exatape22m, MediaType.Exatape22mAME, MediaType.Exatape28m,
MediaType.Exatape75m, MediaType.Exatape76m, MediaType.Exatape80m, MediaType.Exatape106m, MediaType.Exatape40m, MediaType.Exatape45m, MediaType.Exatape54m, MediaType.Exatape75m,
MediaType.Exatape160mXL, MediaType.Exatape112m, MediaType.Exatape125m, MediaType.Exatape150m, MediaType.Exatape76m, MediaType.Exatape80m, MediaType.Exatape106m, MediaType.Exatape160mXL,
MediaType.Exatape170m, MediaType.Exatape225m, MediaType.IBM3470, MediaType.IBM3480, MediaType.IBM3490, MediaType.Exatape112m, MediaType.Exatape125m, MediaType.Exatape150m, MediaType.Exatape170m,
MediaType.IBM3490E, MediaType.IBM3592, MediaType.LTO, MediaType.LTO2, MediaType.LTO3, MediaType.LTO3WORM, MediaType.Exatape225m, MediaType.IBM3470, MediaType.IBM3480, MediaType.IBM3490, MediaType.IBM3490E,
MediaType.LTO4, MediaType.LTO4WORM, MediaType.LTO5, MediaType.LTO5WORM, MediaType.LTO6, MediaType.LTO6WORM, MediaType.IBM3592, MediaType.LTO, MediaType.LTO2, MediaType.LTO3, MediaType.LTO3WORM, MediaType.LTO4,
MediaType.LTO7, MediaType.LTO7WORM, MediaType.MLR1, MediaType.MLR1SL, MediaType.MLR3, MediaType.SLR1, MediaType.LTO4WORM, MediaType.LTO5, MediaType.LTO5WORM, MediaType.LTO6, MediaType.LTO6WORM, MediaType.LTO7,
MediaType.SLR2, MediaType.SLR3, MediaType.SLR32, MediaType.SLR32SL, MediaType.SLR4, MediaType.SLR5, MediaType.LTO7WORM, MediaType.MLR1, MediaType.MLR1SL, MediaType.MLR3, MediaType.SLR1, MediaType.SLR2,
MediaType.SLR5SL, MediaType.SLR6, MediaType.SLRtape7, MediaType.SLRtape7SL, MediaType.SLRtape24, MediaType.SLR3, MediaType.SLR32, MediaType.SLR32SL, MediaType.SLR4, MediaType.SLR5, MediaType.SLR5SL,
MediaType.SLRtape24SL, MediaType.SLRtape40, MediaType.SLRtape50, MediaType.SLRtape60, MediaType.SLRtape75, MediaType.SLR6, MediaType.SLRtape7, MediaType.SLRtape7SL, MediaType.SLRtape24, MediaType.SLRtape24SL,
MediaType.SLRtape100, MediaType.SLRtape140, MediaType.QIC11, MediaType.QIC120, MediaType.QIC1350, MediaType.SLRtape40, MediaType.SLRtape50, MediaType.SLRtape60, MediaType.SLRtape75, MediaType.SLRtape100,
MediaType.QIC150, MediaType.QIC24, MediaType.QIC3010, MediaType.QIC3020, MediaType.QIC3080, MediaType.QIC3095, MediaType.SLRtape140, MediaType.QIC11, MediaType.QIC120, MediaType.QIC1350, MediaType.QIC150,
MediaType.QIC24, MediaType.QIC3010, MediaType.QIC3020, MediaType.QIC3080, MediaType.QIC3095,
MediaType.QIC320, MediaType.QIC40, MediaType.QIC525, MediaType.QIC80, MediaType.STK4480, MediaType.STK4490, MediaType.QIC320, MediaType.QIC40, MediaType.QIC525, MediaType.QIC80, MediaType.STK4480, MediaType.STK4490,
MediaType.STK9490, MediaType.T9840A, MediaType.T9840B, MediaType.T9840C, MediaType.T9840D, MediaType.T9940A, MediaType.STK9490, MediaType.T9840A, MediaType.T9840B, MediaType.T9840C, MediaType.T9840D, MediaType.T9940A,
MediaType.T9940B, MediaType.T10000A, MediaType.T10000B, MediaType.T10000C, MediaType.T10000D, MediaType.Travan, MediaType.T9940B, MediaType.T10000A, MediaType.T10000B, MediaType.T10000C, MediaType.T10000D,
MediaType.Travan1Ex, MediaType.Travan3, MediaType.Travan3Ex, MediaType.Travan4, MediaType.Travan5, MediaType.Travan, MediaType.Travan1Ex, MediaType.Travan3, MediaType.Travan3Ex, MediaType.Travan4,
MediaType.Travan7, MediaType.VXA1, MediaType.VXA2, MediaType.VXA3 MediaType.Travan5, MediaType.Travan7, MediaType.VXA1, MediaType.VXA2, MediaType.VXA3
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".cptp"];
{
".cptp"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -65,32 +65,26 @@ public sealed partial class DiskCopy42
public string Format => Localization.DiskCopy42_Name; public string Format => Localization.DiskCopy42_Name;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => new[] public IEnumerable<SectorTagType> SupportedSectorTags => [SectorTagType.AppleSonyTag];
{
SectorTagType.AppleSonyTag
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.AppleFileWare, MediaType.AppleHD20, MediaType.AppleProfile, MediaType.AppleSonyDS, MediaType.AppleFileWare, MediaType.AppleHD20, MediaType.AppleProfile, MediaType.AppleSonyDS,
MediaType.AppleSonySS, MediaType.AppleWidget, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DMF MediaType.AppleSonySS, MediaType.AppleWidget, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DMF
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
{ [
("macosx", typeof(bool), Localization.Use_Mac_OS_X_format_byte, (object)false) ("macosx", typeof(bool), Localization.Use_Mac_OS_X_format_byte, false)
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".dc42", ".diskcopy42", ".image"];
{
".dc42", ".diskcopy42", ".image"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,33 +67,29 @@ public sealed partial class DriDiskCopy
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
// TODO: Test with real hardware to see real supported media // TODO: Test with real hardware to see real supported media
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.ACORN_35_DS_DD, MediaType.ACORN_35_DS_HD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD, MediaType.ACORN_35_DS_DD, MediaType.ACORN_35_DS_HD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD,
MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.ATARI_35_SS_DD_11, MediaType.DMF, MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.ATARI_35_SS_DD_11, MediaType.DMF,
MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,
MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8,
MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9,
MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD,
MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".dsk"];
{
".dsk"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -166,11 +166,7 @@ public sealed partial class KryoFlux
trackStream.EnsureRead(kfinfo, 0, oobBlk.length); trackStream.EnsureRead(kfinfo, 0, oobBlk.length);
string kfinfoStr = StringHandlers.CToString(kfinfo); string kfinfoStr = StringHandlers.CToString(kfinfo);
string[] lines = kfinfoStr.Split(new[] string[] lines = kfinfoStr.Split([','], StringSplitOptions.RemoveEmptyEntries);
{
','
},
StringSplitOptions.RemoveEmptyEntries);
DateTime blockDate = DateTime.Now; DateTime blockDate = DateTime.Now;
DateTime blockTime = DateTime.Now; DateTime blockTime = DateTime.Now;

View File

@@ -67,15 +67,15 @@ public sealed partial class MaxiDisk
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
// TODO: Test with real hardware to see real supported media // TODO: Test with real hardware to see real supported media
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Apricot_35, MediaType.ATARI_35_DS_DD, MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD, MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD,
MediaType.ATARI_35_SS_DD_11, MediaType.DMF, MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.ATARI_35_SS_DD_11, MediaType.DMF, MediaType.DMF_82, MediaType.DOS_35_DS_DD_8,
MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8,
@@ -83,17 +83,13 @@ public sealed partial class MaxiDisk
MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD,
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525,
MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".hdk"];
{
".hdk"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,27 +67,20 @@ public sealed partial class Nhdr0
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes => [MediaType.GENERIC_HDD, MediaType.Unknown];
{
MediaType.GENERIC_HDD, MediaType.Unknown
};
// TODO: Support dynamic images // TODO: Support dynamic images
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".nhd"];
{
".nhd"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,29 +67,25 @@ public sealed partial class Parallels
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
// TODO: Add cluster size option // TODO: Add cluster size option
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".hdd"];
{
".hdd"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,28 +67,24 @@ public sealed partial class Qcow
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".qcow", ".qc"];
{
".qcow", ".qc"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,28 +67,24 @@ public sealed partial class Qcow2
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".qcow2", ".qc2", ".qcow3", ".qc3"];
{
".qcow2", ".qc2", ".qcow3", ".qc3"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,29 +67,25 @@ public sealed partial class Qed
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
// TODO: Add cluster size option // TODO: Add cluster size option
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".qed"];
{
".qed"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,15 +67,15 @@ public sealed partial class RayDim
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
// TODO: Test with real hardware to see real supported media // TODO: Test with real hardware to see real supported media
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Apricot_35, MediaType.ATARI_35_DS_DD, MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD, MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD,
MediaType.ATARI_35_SS_DD_11, MediaType.DMF, MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.ATARI_35_SS_DD_11, MediaType.DMF, MediaType.DMF_82, MediaType.DOS_35_DS_DD_8,
MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8,
@@ -83,17 +83,13 @@ public sealed partial class RayDim
MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD,
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525,
MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".dim"];
{
".dim"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,31 +67,24 @@ public sealed partial class RsIde
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => new[] public IEnumerable<MediaTagType> SupportedMediaTags => [MediaTagType.ATA_IDENTIFY];
{
MediaTagType.ATA_IDENTIFY
};
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".ide"];
{
".ide"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,33 +67,29 @@ public sealed partial class SaveDskF
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
// TODO: Test with real hardware to see real supported media // TODO: Test with real hardware to see real supported media
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.ACORN_35_DS_DD, MediaType.ACORN_35_DS_HD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD, MediaType.ACORN_35_DS_DD, MediaType.ACORN_35_DS_HD, MediaType.Apricot_35, MediaType.ATARI_35_DS_DD,
MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.ATARI_35_SS_DD_11, MediaType.DMF, MediaType.ATARI_35_DS_DD_11, MediaType.ATARI_35_SS_DD, MediaType.ATARI_35_SS_DD_11, MediaType.DMF,
MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DMF_82, MediaType.DOS_35_DS_DD_8, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED,
MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8,
MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9,
MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD,
MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".dsk"];
{
".dsk"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -86,25 +86,21 @@ public sealed partial class SuperCardPro
public IEnumerable<MediaTagType> SupportedMediaTags => null; public IEnumerable<MediaTagType> SupportedMediaTags => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
// TODO: SCP supports a lot more formats, please add more whence tested. // TODO: SCP supports a lot more formats, please add more whence tested.
MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD,
MediaType.Unknown MediaType.Unknown
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".scp"];
{
".scp"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -69,28 +69,24 @@ public sealed partial class T98
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".t98"];
{
".t98"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,28 +67,24 @@ public sealed partial class Udif
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".dmg"];
{
".dmg"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,29 +67,25 @@ public sealed partial class Vdi
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
// TODO: Add cluster size option // TODO: Add cluster size option
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".vdi"];
{
".vdi"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -73,31 +73,28 @@ public sealed partial class Vhd
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
{ [
("dynamic", typeof(bool), Localization.Create_a_dynamic_image, (object)true), ("dynamic", typeof(bool), Localization.Create_a_dynamic_image, true),
("block_size", typeof(uint), Localization.Vhd_Block_size_Must_be_a_power_of_2, 2097152) ("block_size", typeof(uint), Localization.Vhd_Block_size_Must_be_a_power_of_2, 2097152)
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".vhd"];
{
".vhd"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,33 +67,30 @@ public sealed partial class VMware
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
{ [
("adapter_type", typeof(string), Localization.Name_of_adapter_type, "ide"), ("adapter_type", typeof(string), Localization.Name_of_adapter_type, "ide"),
("hwversion", typeof(uint), Localization.VDMK_hardware_version, 4), ("hwversion", typeof(uint), Localization.VDMK_hardware_version, 4),
("sparse", typeof(bool), Localization.VMware_SupportedOptions_Use_sparse_extents, false), ("sparse", typeof(bool), Localization.VMware_SupportedOptions_Use_sparse_extents, false),
("split", typeof(bool), Localization.Split_data_file_at_2GiB, (object)false) ("split", typeof(bool), Localization.Split_data_file_at_2GiB, false)
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".vmdk"];
{
".vmdk"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -67,28 +67,24 @@ public sealed partial class Virtual98
public Metadata AaruMetadata => null; public Metadata AaruMetadata => null;
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaTagType> SupportedMediaTags => Array.Empty<MediaTagType>(); public IEnumerable<MediaTagType> SupportedMediaTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes => new[] public IEnumerable<MediaType> SupportedMediaTypes =>
{ [
MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash, MediaType.GENERIC_HDD, MediaType.Unknown, MediaType.FlashDrive, MediaType.CompactFlash,
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
MediaType.PCCardTypeIV MediaType.PCCardTypeIV
}; ];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions => [".v98"];
{
".v98"
};
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -174,7 +174,7 @@ public sealed partial class ZZZRawImage
.ToArray(); .ToArray();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<SectorTagType> SupportedSectorTags => Array.Empty<SectorTagType>(); public IEnumerable<SectorTagType> SupportedSectorTags => [];
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<MediaType> SupportedMediaTypes public IEnumerable<MediaType> SupportedMediaTypes
@@ -217,15 +217,14 @@ public sealed partial class ZZZRawImage
} }
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => [];
Array.Empty<(string name, Type type, string description, object @default)>();
/// <inheritdoc /> /// <inheritdoc />
public IEnumerable<string> KnownExtensions => new[] public IEnumerable<string> KnownExtensions =>
{ [
".adf", ".adl", ".d81", ".dsk", ".hdf", ".ima", ".img", ".iso", ".ssd", ".st", ".1kn", ".2kn", ".4kn", ".8kn", ".adf", ".adl", ".d81", ".dsk", ".hdf", ".ima", ".img", ".iso", ".ssd", ".st", ".1kn", ".2kn", ".4kn",
".16kn", ".32kn", ".64kn", ".512e", ".512", ".128", ".256" ".8kn", ".16kn", ".32kn", ".64kn", ".512e", ".512", ".128", ".256"
}; ];
/// <inheritdoc /> /// <inheritdoc />
public bool IsWriting { get; private set; } public bool IsWriting { get; private set; }

View File

@@ -327,7 +327,7 @@ public abstract class BlockMediaImageTest : BaseMediaImageTest
while(currentLevel.Count > 0) while(currentLevel.Count > 0)
{ {
currentDepth++; currentDepth++;
List<ReadOnlyFilesystemTest.NextLevel> nextLevels = new(); List<ReadOnlyFilesystemTest.NextLevel> nextLevels = [];
foreach(ReadOnlyFilesystemTest.NextLevel subLevel in currentLevel) foreach(ReadOnlyFilesystemTest.NextLevel subLevel in currentLevel)
{ {

View File

@@ -333,7 +333,7 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
while(currentLevel.Count > 0) while(currentLevel.Count > 0)
{ {
currentDepth++; currentDepth++;
List<ReadOnlyFilesystemTest.NextLevel> nextLevels = new(); List<ReadOnlyFilesystemTest.NextLevel> nextLevels = [];
foreach(ReadOnlyFilesystemTest.NextLevel subLevel in currentLevel) foreach(ReadOnlyFilesystemTest.NextLevel subLevel in currentLevel)
{ {

View File

@@ -188,11 +188,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest
inputFormat.Info.MediaType, inputFormat.Info.MediaType,
testFile)); testFile));
bool useLong = inputFormat.Info.ReadableSectorTags.Except(new[] bool useLong = inputFormat.Info.ReadableSectorTags.Except([SectorTagType.CdTrackFlags]).Any();
{
SectorTagType.CdTrackFlags
})
.Any();
// TODO: Can be done with LINQ only // TODO: Can be done with LINQ only
foreach(SectorTagType unused in inputFormat.Info.ReadableSectorTags foreach(SectorTagType unused in inputFormat.Info.ReadableSectorTags