mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Add default value for writable image options.
This commit is contained in:
@@ -65,7 +65,7 @@ namespace DiscImageChef.CommonTypes.Interfaces
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves a list of options supported by the filesystem, with name, type and description
|
/// Retrieves a list of options supported by the filesystem, with name, type and description
|
||||||
/// </summary>
|
/// </summary>
|
||||||
IEnumerable<(string name, Type type, string description)> SupportedOptions { get; }
|
IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions { get; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a list of known extensions for format auto-chosing
|
/// Gets a list of known extensions for format auto-chosing
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -135,8 +135,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon,
|
MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon,
|
||||||
MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD
|
MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".mds"};
|
public IEnumerable<string> KnownExtensions => new[] {".mds"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -80,8 +80,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII,
|
MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII,
|
||||||
MediaType.PCCardTypeIII, MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIII, MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".fdi", ".hdi"};
|
public IEnumerable<string> KnownExtensions => new[] {".fdi", ".hdi"};
|
||||||
|
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
|
|||||||
@@ -71,8 +71,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII,
|
MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII,
|
||||||
MediaType.PCCardTypeIII, MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIII, MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".2mg"};
|
public IEnumerable<string> KnownExtensions => new[] {".2mg"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -64,8 +64,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
public IEnumerable<MediaTagType> SupportedMediaTags => new MediaTagType[] { };
|
public IEnumerable<MediaTagType> SupportedMediaTags => new MediaTagType[] { };
|
||||||
public IEnumerable<SectorTagType> SupportedSectorTags => new SectorTagType[] { };
|
public IEnumerable<SectorTagType> SupportedSectorTags => new SectorTagType[] { };
|
||||||
public IEnumerable<MediaType> SupportedMediaTypes => new[] {MediaType.Apple33SS};
|
public IEnumerable<MediaType> SupportedMediaTypes => new[] {MediaType.Apple33SS};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".do", ".po"};
|
public IEnumerable<string> KnownExtensions => new[] {".do", ".po"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
||||||
MediaType.XDF_525
|
MediaType.XDF_525
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new[] {("compress", typeof(bool), "Enable Apridisk compression.")};
|
new[] {("compress", typeof(bool), "Enable Apridisk compression.", (object)false)};
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dsk"};
|
public IEnumerable<string> KnownExtensions => new[] {".dsk"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -64,8 +64,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
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
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".blu"}; // Just invented
|
public IEnumerable<string> KnownExtensions => new[] {".blu"}; // Just invented
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -117,8 +117,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin,
|
MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin,
|
||||||
MediaType.FMTOWNS
|
MediaType.FMTOWNS
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new[] {("separate", typeof(bool), "Write each track to a separate file.")};
|
new[] {("separate", typeof(bool), "Write each track to a separate file.", (object)false)};
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".toc"};
|
public IEnumerable<string> KnownExtensions => new[] {".toc"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -122,8 +122,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon,
|
MediaType.NeoGeoCD, MediaType.PCFX, MediaType.CDTV, MediaType.CD32, MediaType.Nuon,
|
||||||
MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD
|
MediaType.Playdia, MediaType.Pippin, MediaType.FMTOWNS, MediaType.MilCD
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new[] {("separate", typeof(bool), "Write each track to a separate file.")};
|
new[] {("separate", typeof(bool), "Write each track to a separate file.", (object)false)};
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".cue"};
|
public IEnumerable<string> KnownExtensions => new[] {".cue"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -64,8 +64,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
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
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dcf"};
|
public IEnumerable<string> KnownExtensions => new[] {".dcf"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin,
|
MediaType.CDTV, MediaType.CD32, MediaType.Nuon, MediaType.Playdia, MediaType.Pippin,
|
||||||
MediaType.FMTOWNS, MediaType.MilCD
|
MediaType.FMTOWNS, MediaType.MilCD
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".ccd"};
|
public IEnumerable<string> KnownExtensions => new[] {".ccd"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -57,22 +57,24 @@ namespace DiscImageChef.DiscImages
|
|||||||
public IEnumerable<SectorTagType> SupportedSectorTags =>
|
public IEnumerable<SectorTagType> SupportedSectorTags =>
|
||||||
Enum.GetValues(typeof(SectorTagType)).Cast<SectorTagType>();
|
Enum.GetValues(typeof(SectorTagType)).Cast<SectorTagType>();
|
||||||
public IEnumerable<MediaType> SupportedMediaTypes => Enum.GetValues(typeof(MediaType)).Cast<MediaType>();
|
public IEnumerable<MediaType> SupportedMediaTypes => Enum.GetValues(typeof(MediaType)).Cast<MediaType>();
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new[]
|
new[]
|
||||||
{
|
{
|
||||||
("sectors_per_block", typeof(uint),
|
("sectors_per_block", typeof(uint),
|
||||||
"How many sectors to store per block (will be rounded to next power of two)"),
|
"How many sectors to store per block (will be rounded to next power of two)", 4096U),
|
||||||
("dictionary", typeof(uint), "Size, in bytes, of the LZMA dictionary"),
|
("dictionary", typeof(uint), "Size, in bytes, of the LZMA dictionary", (uint)(1 << 25)),
|
||||||
("max_ddt_size", typeof(uint),
|
("max_ddt_size", typeof(uint),
|
||||||
"Maximum size, in mebibytes, for in-memory DDT. If image needs a bigger one, it will be on-disk"),
|
"Maximum size, in mebibytes, for in-memory DDT. If image needs a bigger one, it will be on-disk",
|
||||||
("md5", typeof(bool), "Calculate and store MD5 of image's user data"),
|
256U),
|
||||||
("sha1", typeof(bool), "Calculate and store SHA1 of image's user data"),
|
("md5", typeof(bool), "Calculate and store MD5 of image's user data", (object)false),
|
||||||
("sha256", typeof(bool), "Calculate and store SHA256 of image's user data"),
|
("sha1", typeof(bool), "Calculate and store SHA1 of image's user data", (object)false),
|
||||||
("spamsum", typeof(bool), "Calculate and store SpamSum of image's user data"),
|
("sha256", typeof(bool), "Calculate and store SHA256 of image's user data", (object)false),
|
||||||
|
("spamsum", typeof(bool), "Calculate and store SpamSum of image's user data", (object)false),
|
||||||
("deduplicate", typeof(bool),
|
("deduplicate", typeof(bool),
|
||||||
"Store only unique sectors. This consumes more memory and is slower, but it's enabled by default"),
|
"Store only unique sectors. This consumes more memory and is slower, but it's enabled by default",
|
||||||
|
(object)true),
|
||||||
("nocompress", typeof(bool),
|
("nocompress", typeof(bool),
|
||||||
"Don't compress user data blocks. Other blocks will still be compressed")
|
"Don't compress user data blocks. Other blocks will still be compressed", (object)false)
|
||||||
};
|
};
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dicf"};
|
public IEnumerable<string> KnownExtensions => new[] {".dicf"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
|
|||||||
@@ -68,8 +68,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.AppleSonySS, MediaType.AppleWidget, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,
|
MediaType.AppleSonySS, MediaType.AppleWidget, MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,
|
||||||
MediaType.DMF
|
MediaType.DMF
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new[] {("macosx", typeof(bool), "Use Mac OS X format byte")};
|
new[] {("macosx", typeof(bool), "Use Mac OS X format byte", (object)false)};
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dc42", ".diskcopy42", ".image"};
|
public IEnumerable<string> KnownExtensions => new[] {".dc42", ".diskcopy42", ".image"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
||||||
MediaType.XDF_525
|
MediaType.XDF_525
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dsk"};
|
public IEnumerable<string> KnownExtensions => new[] {".dsk"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
||||||
MediaType.XDF_525
|
MediaType.XDF_525
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".hdk"};
|
public IEnumerable<string> KnownExtensions => new[] {".hdk"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -63,8 +63,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
public IEnumerable<SectorTagType> SupportedSectorTags => new SectorTagType[] { };
|
public IEnumerable<SectorTagType> SupportedSectorTags => new SectorTagType[] { };
|
||||||
public IEnumerable<MediaType> SupportedMediaTypes => new[] {MediaType.GENERIC_HDD, MediaType.Unknown};
|
public IEnumerable<MediaType> SupportedMediaTypes => new[] {MediaType.GENERIC_HDD, MediaType.Unknown};
|
||||||
// TODO: Support dynamic images
|
// TODO: Support dynamic images
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".nhd"};
|
public IEnumerable<string> KnownExtensions => new[] {".nhd"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
// TODO: Add cluster size option
|
// TODO: Add cluster size option
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".hdd"};
|
public IEnumerable<string> KnownExtensions => new[] {".hdd"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -68,8 +68,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".qcow", ".qc"};
|
public IEnumerable<string> KnownExtensions => new[] {".qcow", ".qc"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".qcow2", ".qc2", ".qcow3", ".qc3"};
|
public IEnumerable<string> KnownExtensions => new[] {".qcow2", ".qc2", ".qcow3", ".qc3"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -33,8 +33,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using DiscImageChef.CommonTypes;
|
using DiscImageChef.CommonTypes;
|
||||||
|
using DiscImageChef.CommonTypes.Enums;
|
||||||
using DiscImageChef.CommonTypes.Exceptions;
|
using DiscImageChef.CommonTypes.Exceptions;
|
||||||
using DiscImageChef.CommonTypes.Structs;
|
using DiscImageChef.CommonTypes.Structs;
|
||||||
|
using Schemas;
|
||||||
|
|
||||||
namespace DiscImageChef.DiscImages
|
namespace DiscImageChef.DiscImages
|
||||||
{
|
{
|
||||||
@@ -55,5 +57,24 @@ namespace DiscImageChef.DiscImages
|
|||||||
|
|
||||||
public List<Session> Sessions =>
|
public List<Session> Sessions =>
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
|
|
||||||
|
public List<DumpHardwareType> DumpHardware => null;
|
||||||
|
public CICMMetadataType CicmMetadata => null;
|
||||||
|
|
||||||
|
public IEnumerable<MediaTagType> SupportedMediaTags => new MediaTagType[] { };
|
||||||
|
public IEnumerable<SectorTagType> SupportedSectorTags => new SectorTagType[] { };
|
||||||
|
public IEnumerable<MediaType> SupportedMediaTypes =>
|
||||||
|
new[]
|
||||||
|
{
|
||||||
|
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
|
||||||
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
|
MediaType.PCCardTypeIV
|
||||||
|
};
|
||||||
|
// TODO: Add cluster size option
|
||||||
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
|
public IEnumerable<string> KnownExtensions => new[] {".qed"};
|
||||||
|
public bool IsWriting { get; private set; }
|
||||||
|
public string ErrorMessage { get; private set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,6 @@ using DiscImageChef.CommonTypes.Enums;
|
|||||||
using DiscImageChef.CommonTypes.Exceptions;
|
using DiscImageChef.CommonTypes.Exceptions;
|
||||||
using DiscImageChef.CommonTypes.Interfaces;
|
using DiscImageChef.CommonTypes.Interfaces;
|
||||||
using DiscImageChef.CommonTypes.Structs;
|
using DiscImageChef.CommonTypes.Structs;
|
||||||
using DiscImageChef.Console;
|
|
||||||
using Schemas;
|
using Schemas;
|
||||||
|
|
||||||
namespace DiscImageChef.DiscImages
|
namespace DiscImageChef.DiscImages
|
||||||
@@ -92,83 +91,49 @@ namespace DiscImageChef.DiscImages
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public byte[] ReadSectorTag(ulong sectorAddress, SectorTagType tag) =>
|
||||||
|
|
||||||
|
|
||||||
public byte[] ReadSectorTag(ulong sectorAddress, SectorTagType tag)
|
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectorsTag(ulong sectorAddress, uint length, SectorTagType tag)
|
public byte[] ReadSectorsTag(ulong sectorAddress, uint length, SectorTagType tag) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadDiskTag(MediaTagType tag)
|
public byte[] ReadDiskTag(MediaTagType tag) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSector(ulong sectorAddress, uint track)
|
public byte[] ReadSector(ulong sectorAddress, uint track) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectorTag(ulong sectorAddress, uint track, SectorTagType tag)
|
public byte[] ReadSectorTag(ulong sectorAddress, uint track, SectorTagType tag) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectors(ulong sectorAddress, uint length, uint track)
|
public byte[] ReadSectors(ulong sectorAddress, uint length, uint track) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectorsTag(ulong sectorAddress, uint length, uint track, SectorTagType tag)
|
public byte[] ReadSectorsTag(ulong sectorAddress, uint length, uint track, SectorTagType tag) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectorLong(ulong sectorAddress)
|
public byte[] ReadSectorLong(ulong sectorAddress) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectorLong(ulong sectorAddress, uint track)
|
public byte[] ReadSectorLong(ulong sectorAddress, uint track) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectorsLong(ulong sectorAddress, uint length)
|
public byte[] ReadSectorsLong(ulong sectorAddress, uint length) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] ReadSectorsLong(ulong sectorAddress, uint length, uint track)
|
public byte[] ReadSectorsLong(ulong sectorAddress, uint length, uint track) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public List<Track> GetSessionTracks(Session session)
|
public List<Track> GetSessionTracks(Session session) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public List<Track> GetSessionTracks(ushort session)
|
public List<Track> GetSessionTracks(ushort session) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public bool? VerifySector(ulong sectorAddress)
|
public bool? VerifySector(ulong sectorAddress) => null;
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool? VerifySector(ulong sectorAddress, uint track)
|
public bool? VerifySector(ulong sectorAddress, uint track) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas,
|
public bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas,
|
||||||
out List<ulong> unknownLbas)
|
out List<ulong> unknownLbas)
|
||||||
@@ -181,34 +146,10 @@ namespace DiscImageChef.DiscImages
|
|||||||
}
|
}
|
||||||
|
|
||||||
public bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas,
|
public bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas,
|
||||||
out List<ulong> unknownLbas)
|
out List<ulong> unknownLbas) =>
|
||||||
{
|
|
||||||
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
throw new FeatureUnsupportedImageException("Feature not supported by image format");
|
||||||
}
|
|
||||||
|
|
||||||
public bool? VerifyMediaImage()
|
public bool? VerifyMediaImage() => null;
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<DumpHardwareType> DumpHardware => null;
|
|
||||||
public CICMMetadataType CicmMetadata => null;
|
|
||||||
|
|
||||||
public IEnumerable<MediaTagType> SupportedMediaTags => new MediaTagType[] { };
|
|
||||||
public IEnumerable<SectorTagType> SupportedSectorTags => new SectorTagType[] { };
|
|
||||||
public IEnumerable<MediaType> SupportedMediaTypes =>
|
|
||||||
new[]
|
|
||||||
{
|
|
||||||
MediaType.Unknown, MediaType.GENERIC_HDD, MediaType.FlashDrive, MediaType.CompactFlash,
|
|
||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
|
||||||
MediaType.PCCardTypeIV
|
|
||||||
};
|
|
||||||
// TODO: Add cluster size option
|
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
|
||||||
new (string name, Type type, string description)[] { };
|
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".qed"};
|
|
||||||
public bool IsWriting { get; private set; }
|
|
||||||
public string ErrorMessage { get; private set; }
|
|
||||||
|
|
||||||
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,
|
||||||
uint sectorSize)
|
uint sectorSize)
|
||||||
@@ -437,16 +378,9 @@ namespace DiscImageChef.DiscImages
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SetMetadata(ImageInfo metadata)
|
public bool SetMetadata(ImageInfo metadata) => true;
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool SetGeometry(uint cylinders, uint heads, uint sectorsPerTrack)
|
public bool SetGeometry(uint cylinders, uint heads, uint sectorsPerTrack) => true;
|
||||||
{
|
|
||||||
// Not stored in image
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag)
|
public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag)
|
||||||
{
|
{
|
||||||
@@ -460,17 +394,9 @@ namespace DiscImageChef.DiscImages
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SetDumpHardware(List<DumpHardwareType> dumpHardware)
|
public bool SetDumpHardware(List<DumpHardwareType> dumpHardware) => false;
|
||||||
{
|
|
||||||
// Not supported
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool SetCicmMetadata(CICMMetadataType metadata)
|
public bool SetCicmMetadata(CICMMetadataType metadata) => false;
|
||||||
{
|
|
||||||
// Not supported
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool IsPowerOfTwo(uint x)
|
static bool IsPowerOfTwo(uint x)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
||||||
MediaType.XDF_525
|
MediaType.XDF_525
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dim"};
|
public IEnumerable<string> KnownExtensions => new[] {".dim"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -68,8 +68,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".ide"};
|
public IEnumerable<string> KnownExtensions => new[] {".ide"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35,
|
||||||
MediaType.XDF_525
|
MediaType.XDF_525
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dsk"};
|
public IEnumerable<string> KnownExtensions => new[] {".dsk"};
|
||||||
|
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
|
|||||||
@@ -67,8 +67,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".t98"};
|
public IEnumerable<string> KnownExtensions => new[] {".t98"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".dmg"};
|
public IEnumerable<string> KnownExtensions => new[] {".dmg"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
// TODO: Add cluster size option
|
// TODO: Add cluster size option
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".vdi"};
|
public IEnumerable<string> KnownExtensions => new[] {".vdi"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -83,8 +83,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
// TODO: Support dynamic images
|
// TODO: Support dynamic images
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".vhd"};
|
public IEnumerable<string> KnownExtensions => new[] {".vhd"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -69,13 +69,14 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new[]
|
new[]
|
||||||
{
|
{
|
||||||
("adapter_type", typeof(string),
|
("adapter_type", typeof(string),
|
||||||
"Type of adapter type. Possible values: ide, lsilogic, buslogic, legacyESX."),
|
"Type of adapter type. Possible values: ide, lsilogic, buslogic, legacyESX.", "ide"),
|
||||||
("hwversion", typeof(uint), "VDMK hardware version."),
|
("hwversion", typeof(uint), "VDMK hardware version.", 4),
|
||||||
("sparse", typeof(bool), "Use sparse extents."), ("split", typeof(bool), "Split data file at 2GiB.")
|
("sparse", typeof(bool), "Use sparse extents.", (object)false),
|
||||||
|
("split", typeof(bool), "Split data file at 2GiB.", (object)false)
|
||||||
};
|
};
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".vmdk"};
|
public IEnumerable<string> KnownExtensions => new[] {".vmdk"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
|
|||||||
@@ -67,8 +67,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
MediaType.CompactFlashType2, MediaType.PCCardTypeI, MediaType.PCCardTypeII, MediaType.PCCardTypeIII,
|
||||||
MediaType.PCCardTypeIV
|
MediaType.PCCardTypeIV
|
||||||
};
|
};
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions => new[] {".v98"};
|
public IEnumerable<string> KnownExtensions => new[] {".v98"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
public string ErrorMessage { get; private set; }
|
public string ErrorMessage { get; private set; }
|
||||||
|
|||||||
@@ -60,7 +60,11 @@ namespace DiscImageChef.DiscImages
|
|||||||
|
|
||||||
Track trk = new Track
|
Track trk = new Track
|
||||||
{
|
{
|
||||||
TrackBytesPerSector = rawCompactDisc ? (mode2 ? 2336 : 2048) : (int)imageInfo.SectorSize,
|
TrackBytesPerSector = rawCompactDisc
|
||||||
|
? mode2
|
||||||
|
? 2336
|
||||||
|
: 2048
|
||||||
|
: (int)imageInfo.SectorSize,
|
||||||
TrackEndSector = imageInfo.Sectors - 1,
|
TrackEndSector = imageInfo.Sectors - 1,
|
||||||
TrackFile = rawImageFilter.GetFilename(),
|
TrackFile = rawImageFilter.GetFilename(),
|
||||||
TrackFileOffset = 0,
|
TrackFileOffset = 0,
|
||||||
@@ -71,7 +75,9 @@ namespace DiscImageChef.DiscImages
|
|||||||
TrackSubchannelType =
|
TrackSubchannelType =
|
||||||
hasSubchannel ? TrackSubchannelType.RawInterleaved : TrackSubchannelType.None,
|
hasSubchannel ? TrackSubchannelType.RawInterleaved : TrackSubchannelType.None,
|
||||||
TrackType = rawCompactDisc
|
TrackType = rawCompactDisc
|
||||||
? (mode2 ? TrackType.CdMode2Formless : TrackType.CdMode1)
|
? mode2
|
||||||
|
? TrackType.CdMode2Formless
|
||||||
|
: TrackType.CdMode1
|
||||||
: TrackType.Data,
|
: TrackType.Data,
|
||||||
TrackSession = 1
|
TrackSession = 1
|
||||||
};
|
};
|
||||||
@@ -114,7 +120,11 @@ namespace DiscImageChef.DiscImages
|
|||||||
Length = imageInfo.Sectors,
|
Length = imageInfo.Sectors,
|
||||||
Offset = 0,
|
Offset = 0,
|
||||||
Sequence = 0,
|
Sequence = 0,
|
||||||
Type = rawCompactDisc ? (mode2 ? "MODE2/2352" : "MODE1/2352") : "MODE1/2048",
|
Type = rawCompactDisc
|
||||||
|
? mode2
|
||||||
|
? "MODE2/2352"
|
||||||
|
: "MODE1/2352"
|
||||||
|
: "MODE1/2048",
|
||||||
Size = imageInfo.Sectors * imageInfo.SectorSize
|
Size = imageInfo.Sectors * imageInfo.SectorSize
|
||||||
};
|
};
|
||||||
parts.Add(part);
|
parts.Add(part);
|
||||||
@@ -161,8 +171,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
|
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
|
||||||
new (string name, Type type, string description)[] { };
|
new (string name, Type type, string description, object @default)[] { };
|
||||||
public IEnumerable<string> KnownExtensions =>
|
public IEnumerable<string> KnownExtensions =>
|
||||||
new[] {".adf", ".adl", ".d81", ".dsk", ".hdf", ".ima", ".img", ".iso", ".ssd", ".st"};
|
new[] {".adf", ".adl", ".d81", ".dsk", ".hdf", ".ima", ".img", ".iso", ".ssd", ".st"};
|
||||||
public bool IsWriting { get; private set; }
|
public bool IsWriting { get; private set; }
|
||||||
|
|||||||
@@ -65,14 +65,16 @@ namespace DiscImageChef.Commands
|
|||||||
DicConsole.WriteLine("Read/Write media images options:");
|
DicConsole.WriteLine("Read/Write media images options:");
|
||||||
foreach(KeyValuePair<string, IWritableImage> kvp in plugins.WritableImages)
|
foreach(KeyValuePair<string, IWritableImage> kvp in plugins.WritableImages)
|
||||||
{
|
{
|
||||||
List<(string name, Type type, string description)> options = kvp.Value.SupportedOptions.ToList();
|
List<(string name, Type type, string description, object @default)> options =
|
||||||
|
kvp.Value.SupportedOptions.ToList();
|
||||||
if(options.Count == 0) continue;
|
if(options.Count == 0) continue;
|
||||||
|
|
||||||
DicConsole.WriteLine("\tOptions for {0}:", kvp.Value.Name);
|
DicConsole.WriteLine("\tOptions for {0}:", kvp.Value.Name);
|
||||||
DicConsole.WriteLine("\t\t{0,-16} {1,-16} {2,-8}", "Name", "Type", "Description");
|
DicConsole.WriteLine("\t\t{0,-20} {1,-10} {2,-12} {3,-8}", "Name", "Type", "Default", "Description");
|
||||||
foreach((string name, Type type, string description) option in options.OrderBy(t => t.name))
|
foreach((string name, Type type, string description, object @default) option in
|
||||||
DicConsole.WriteLine("\t\t{0,-16} {1,-16} {2,-8}", option.name, TypeToString(option.type),
|
options.OrderBy(t => t.name))
|
||||||
option.description);
|
DicConsole.WriteLine("\t\t{0,-20} {1,-10} {2,-12} {3,-8}", option.name, TypeToString(option.type),
|
||||||
|
option.@default, option.description);
|
||||||
DicConsole.WriteLine();
|
DicConsole.WriteLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -89,7 +91,7 @@ namespace DiscImageChef.Commands
|
|||||||
|
|
||||||
if(type == typeof(float) || type == typeof(double)) return "float number";
|
if(type == typeof(float) || type == typeof(double)) return "float number";
|
||||||
|
|
||||||
if(type == typeof(Guid)) return "float number";
|
if(type == typeof(Guid)) return "uuid";
|
||||||
|
|
||||||
return type == typeof(string) ? "string" : type.ToString();
|
return type == typeof(string) ? "string" : type.ToString();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user