mirror of
https://github.com/SabreTools/MPF.git
synced 2026-07-02 17:24:48 +00:00
Make some methods required for override
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
- Split some processing code
|
||||
- Remove unnecessary field in execution contexts
|
||||
- Slight tweak to deal with net20
|
||||
- Make some methods required for override
|
||||
|
||||
### 3.1.9a (2024-05-21)
|
||||
|
||||
|
||||
@@ -124,6 +124,298 @@ namespace MPF.Core.ExecutionContexts.Aaru
|
||||
|
||||
#region BaseExecutionContext Implementations
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override Dictionary<string, List<string>> GetCommandSupport()
|
||||
{
|
||||
return new Dictionary<string, List<string>>()
|
||||
{
|
||||
#region Archive Family
|
||||
|
||||
[CommandStrings.ArchivePrefixLong + " " + CommandStrings.ArchiveInfo] = [],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Database Family
|
||||
|
||||
[CommandStrings.DatabasePrefixLong + " " + CommandStrings.DatabaseStats] = [],
|
||||
|
||||
[CommandStrings.DatabasePrefixLong + " " + CommandStrings.DatabaseUpdate] =
|
||||
[
|
||||
FlagStrings.ClearLong,
|
||||
FlagStrings.ClearAllLong,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Device Family
|
||||
|
||||
[CommandStrings.DevicePrefixLong + " " + CommandStrings.DeviceInfo] =
|
||||
[
|
||||
FlagStrings.OutputPrefixLong,
|
||||
],
|
||||
|
||||
[CommandStrings.DevicePrefixLong + " " + CommandStrings.DeviceList] = [],
|
||||
|
||||
[CommandStrings.DevicePrefixLong + " " + CommandStrings.DeviceReport] =
|
||||
[
|
||||
FlagStrings.TrapDiscLong,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Filesystem Family
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemExtract] =
|
||||
[
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.ExtendedAttributesLong,
|
||||
FlagStrings.ExtendedAttributesShort,
|
||||
FlagStrings.NamespaceLong,
|
||||
FlagStrings.NamespaceShort,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
],
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemInfo] =
|
||||
[
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.ExtendedAttributesLong,
|
||||
FlagStrings.ExtendedAttributesShort,
|
||||
FlagStrings.NamespaceLong,
|
||||
FlagStrings.NamespaceShort,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
],
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemListLong] =
|
||||
[
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.FilesystemsLong,
|
||||
FlagStrings.FilesystemsShort,
|
||||
FlagStrings.LongFormatLong,
|
||||
FlagStrings.LongFormatShort,
|
||||
FlagStrings.PartitionsLong,
|
||||
FlagStrings.PartitionsShort,
|
||||
],
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemOptions] = [],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Image Family
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageChecksumLong] =
|
||||
[
|
||||
FlagStrings.Adler32Long,
|
||||
FlagStrings.Adler32Short,
|
||||
FlagStrings.CRC16Long,
|
||||
FlagStrings.CRC32Long,
|
||||
FlagStrings.CRC32Short,
|
||||
FlagStrings.CRC64Long,
|
||||
FlagStrings.Fletcher16Long,
|
||||
FlagStrings.Fletcher32Long,
|
||||
FlagStrings.MD5Long,
|
||||
FlagStrings.MD5Short,
|
||||
FlagStrings.SeparatedTracksLong,
|
||||
FlagStrings.SeparatedTracksShort,
|
||||
FlagStrings.SHA1Long,
|
||||
FlagStrings.SHA1Short,
|
||||
FlagStrings.SHA256Long,
|
||||
FlagStrings.SHA384Long,
|
||||
FlagStrings.SHA512Long,
|
||||
FlagStrings.SpamSumLong,
|
||||
FlagStrings.SpamSumShort,
|
||||
FlagStrings.WholeDiscLong,
|
||||
FlagStrings.WholeDiscShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageCompareLong] = [],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageConvert] =
|
||||
[
|
||||
FlagStrings.CommentsLong,
|
||||
FlagStrings.CountLong,
|
||||
FlagStrings.CountShort,
|
||||
FlagStrings.CreatorLong,
|
||||
FlagStrings.DriveManufacturerLong,
|
||||
FlagStrings.DriveModelLong,
|
||||
FlagStrings.DriveRevisionLong,
|
||||
FlagStrings.DriveSerialLong,
|
||||
FlagStrings.FixSubchannelLong,
|
||||
FlagStrings.FixSubchannelCrcLong,
|
||||
FlagStrings.FixSubchannelPositionLong,
|
||||
FlagStrings.ForceLong,
|
||||
FlagStrings.ForceShort,
|
||||
FlagStrings.FormatConvertLong,
|
||||
FlagStrings.FormatConvertShort,
|
||||
FlagStrings.GenerateSubchannelsLong,
|
||||
FlagStrings.GeometryLong,
|
||||
FlagStrings.GeometryShort,
|
||||
FlagStrings.MediaBarcodeLong,
|
||||
FlagStrings.MediaLastSequenceLong,
|
||||
FlagStrings.MediaManufacturerLong,
|
||||
FlagStrings.MediaModelLong,
|
||||
FlagStrings.MediaPartNumberLong,
|
||||
FlagStrings.MediaSequenceLong,
|
||||
FlagStrings.MediaSerialLong,
|
||||
FlagStrings.MediaTitleLong,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
FlagStrings.ResumeFileLong,
|
||||
FlagStrings.ResumeFileShort,
|
||||
FlagStrings.XMLSidecarLong,
|
||||
FlagStrings.XMLSidecarShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageCreateSidecar] =
|
||||
[
|
||||
FlagStrings.BlockSizeLong,
|
||||
FlagStrings.BlockSizeShort,
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.TapeLong,
|
||||
FlagStrings.TapeShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageDecode] =
|
||||
[
|
||||
FlagStrings.DiskTagsLong,
|
||||
FlagStrings.DiskTagsShort,
|
||||
FlagStrings.LengthLong,
|
||||
FlagStrings.LengthShort,
|
||||
FlagStrings.SectorTagsLong,
|
||||
FlagStrings.SectorTagsShort,
|
||||
FlagStrings.StartLong,
|
||||
FlagStrings.StartShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageEntropy] =
|
||||
[
|
||||
FlagStrings.DuplicatedSectorsLong,
|
||||
FlagStrings.DuplicatedSectorsShort,
|
||||
FlagStrings.SeparatedTracksLong,
|
||||
FlagStrings.SeparatedTracksShort,
|
||||
FlagStrings.WholeDiscLong,
|
||||
FlagStrings.WholeDiscShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageInfo] = [],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageOptions] = [],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImagePrint] =
|
||||
[
|
||||
FlagStrings.LengthLong,
|
||||
FlagStrings.LengthShort,
|
||||
FlagStrings.LongSectorsLong,
|
||||
FlagStrings.LongSectorsShort,
|
||||
FlagStrings.StartLong,
|
||||
FlagStrings.StartShort,
|
||||
FlagStrings.WidthLong,
|
||||
FlagStrings.WidthShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageVerify] =
|
||||
[
|
||||
FlagStrings.VerifyDiscLong,
|
||||
FlagStrings.VerifyDiscShort,
|
||||
FlagStrings.VerifySectorsLong,
|
||||
FlagStrings.VerifySectorsShort,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Media Family
|
||||
|
||||
[CommandStrings.MediaPrefixLong + " " + CommandStrings.MediaDump] =
|
||||
[
|
||||
FlagStrings.EjectLong,
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.FirstPregapLong,
|
||||
FlagStrings.FixOffsetLong,
|
||||
FlagStrings.FixSubchannelLong,
|
||||
FlagStrings.FixSubchannelCrcLong,
|
||||
FlagStrings.FixSubchannelPositionLong,
|
||||
FlagStrings.ForceLong,
|
||||
FlagStrings.ForceShort,
|
||||
FlagStrings.FormatConvertLong,
|
||||
FlagStrings.FormatConvertShort,
|
||||
FlagStrings.GenerateSubchannelsLong,
|
||||
FlagStrings.MaxBlocksLong,
|
||||
FlagStrings.MetadataLong,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
FlagStrings.PersistentLong,
|
||||
FlagStrings.PrivateLong,
|
||||
FlagStrings.ResumeLong,
|
||||
FlagStrings.ResumeShort,
|
||||
FlagStrings.RetryPassesLong,
|
||||
FlagStrings.RetryPassesShort,
|
||||
FlagStrings.RetrySubchannelLong,
|
||||
FlagStrings.SkipLong,
|
||||
FlagStrings.SkipShort,
|
||||
FlagStrings.SkipCdiReadyHoleLong,
|
||||
FlagStrings.SpeedLong,
|
||||
FlagStrings.StopOnErrorLong,
|
||||
FlagStrings.StopOnErrorShort,
|
||||
FlagStrings.StoreEncryptedLong,
|
||||
FlagStrings.SubchannelLong,
|
||||
FlagStrings.TitleKeysLong,
|
||||
FlagStrings.TrimLong,
|
||||
FlagStrings.UseBufferedReadsLong,
|
||||
FlagStrings.XMLSidecarLong,
|
||||
FlagStrings.XMLSidecarShort,
|
||||
],
|
||||
|
||||
[CommandStrings.MediaPrefixLong + " " + CommandStrings.MediaInfo] =
|
||||
[
|
||||
FlagStrings.OutputPrefixLong,
|
||||
FlagStrings.OutputPrefixShort,
|
||||
],
|
||||
|
||||
[CommandStrings.MediaPrefixLong + " " + CommandStrings.MediaScan] =
|
||||
[
|
||||
FlagStrings.ImgBurnLogLong,
|
||||
FlagStrings.ImgBurnLogShort,
|
||||
FlagStrings.MHDDLogLong,
|
||||
FlagStrings.MHDDLogShort,
|
||||
FlagStrings.UseBufferedReadsLong,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Standalone Commands
|
||||
|
||||
[CommandStrings.NONE] =
|
||||
[
|
||||
FlagStrings.DebugLong,
|
||||
FlagStrings.DebugShort,
|
||||
FlagStrings.HelpLong,
|
||||
FlagStrings.HelpShort,
|
||||
FlagStrings.HelpShortAlt,
|
||||
FlagStrings.VerboseLong,
|
||||
FlagStrings.VerboseShort,
|
||||
FlagStrings.VersionLong,
|
||||
],
|
||||
|
||||
[CommandStrings.Configure] = [],
|
||||
|
||||
[CommandStrings.Formats] = [],
|
||||
|
||||
[CommandStrings.ListEncodings] = [],
|
||||
|
||||
[CommandStrings.ListNamespaces] = [],
|
||||
|
||||
[CommandStrings.Remote] = [],
|
||||
|
||||
#endregion
|
||||
};
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string? GenerateParameters()
|
||||
{
|
||||
@@ -836,299 +1128,10 @@ namespace MPF.Core.ExecutionContexts.Aaru
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override Dictionary<string, List<string>> GetCommandSupport()
|
||||
{
|
||||
return new Dictionary<string, List<string>>()
|
||||
{
|
||||
#region Archive Family
|
||||
|
||||
[CommandStrings.ArchivePrefixLong + " " + CommandStrings.ArchiveInfo] = [],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Database Family
|
||||
|
||||
[CommandStrings.DatabasePrefixLong + " " + CommandStrings.DatabaseStats] = [],
|
||||
|
||||
[CommandStrings.DatabasePrefixLong + " " + CommandStrings.DatabaseUpdate] =
|
||||
[
|
||||
FlagStrings.ClearLong,
|
||||
FlagStrings.ClearAllLong,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Device Family
|
||||
|
||||
[CommandStrings.DevicePrefixLong + " " + CommandStrings.DeviceInfo] =
|
||||
[
|
||||
FlagStrings.OutputPrefixLong,
|
||||
],
|
||||
|
||||
[CommandStrings.DevicePrefixLong + " " + CommandStrings.DeviceList] = [],
|
||||
|
||||
[CommandStrings.DevicePrefixLong + " " + CommandStrings.DeviceReport] =
|
||||
[
|
||||
FlagStrings.TrapDiscLong,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Filesystem Family
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemExtract] =
|
||||
[
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.ExtendedAttributesLong,
|
||||
FlagStrings.ExtendedAttributesShort,
|
||||
FlagStrings.NamespaceLong,
|
||||
FlagStrings.NamespaceShort,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
],
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemInfo] =
|
||||
[
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.ExtendedAttributesLong,
|
||||
FlagStrings.ExtendedAttributesShort,
|
||||
FlagStrings.NamespaceLong,
|
||||
FlagStrings.NamespaceShort,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
],
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemListLong] =
|
||||
[
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.FilesystemsLong,
|
||||
FlagStrings.FilesystemsShort,
|
||||
FlagStrings.LongFormatLong,
|
||||
FlagStrings.LongFormatShort,
|
||||
FlagStrings.PartitionsLong,
|
||||
FlagStrings.PartitionsShort,
|
||||
],
|
||||
|
||||
[CommandStrings.FilesystemPrefixLong + " " + CommandStrings.FilesystemOptions] = [],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Image Family
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageChecksumLong] =
|
||||
[
|
||||
FlagStrings.Adler32Long,
|
||||
FlagStrings.Adler32Short,
|
||||
FlagStrings.CRC16Long,
|
||||
FlagStrings.CRC32Long,
|
||||
FlagStrings.CRC32Short,
|
||||
FlagStrings.CRC64Long,
|
||||
FlagStrings.Fletcher16Long,
|
||||
FlagStrings.Fletcher32Long,
|
||||
FlagStrings.MD5Long,
|
||||
FlagStrings.MD5Short,
|
||||
FlagStrings.SeparatedTracksLong,
|
||||
FlagStrings.SeparatedTracksShort,
|
||||
FlagStrings.SHA1Long,
|
||||
FlagStrings.SHA1Short,
|
||||
FlagStrings.SHA256Long,
|
||||
FlagStrings.SHA384Long,
|
||||
FlagStrings.SHA512Long,
|
||||
FlagStrings.SpamSumLong,
|
||||
FlagStrings.SpamSumShort,
|
||||
FlagStrings.WholeDiscLong,
|
||||
FlagStrings.WholeDiscShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageCompareLong] = [],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageConvert] =
|
||||
[
|
||||
FlagStrings.CommentsLong,
|
||||
FlagStrings.CountLong,
|
||||
FlagStrings.CountShort,
|
||||
FlagStrings.CreatorLong,
|
||||
FlagStrings.DriveManufacturerLong,
|
||||
FlagStrings.DriveModelLong,
|
||||
FlagStrings.DriveRevisionLong,
|
||||
FlagStrings.DriveSerialLong,
|
||||
FlagStrings.FixSubchannelLong,
|
||||
FlagStrings.FixSubchannelCrcLong,
|
||||
FlagStrings.FixSubchannelPositionLong,
|
||||
FlagStrings.ForceLong,
|
||||
FlagStrings.ForceShort,
|
||||
FlagStrings.FormatConvertLong,
|
||||
FlagStrings.FormatConvertShort,
|
||||
FlagStrings.GenerateSubchannelsLong,
|
||||
FlagStrings.GeometryLong,
|
||||
FlagStrings.GeometryShort,
|
||||
FlagStrings.MediaBarcodeLong,
|
||||
FlagStrings.MediaLastSequenceLong,
|
||||
FlagStrings.MediaManufacturerLong,
|
||||
FlagStrings.MediaModelLong,
|
||||
FlagStrings.MediaPartNumberLong,
|
||||
FlagStrings.MediaSequenceLong,
|
||||
FlagStrings.MediaSerialLong,
|
||||
FlagStrings.MediaTitleLong,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
FlagStrings.ResumeFileLong,
|
||||
FlagStrings.ResumeFileShort,
|
||||
FlagStrings.XMLSidecarLong,
|
||||
FlagStrings.XMLSidecarShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageCreateSidecar] =
|
||||
[
|
||||
FlagStrings.BlockSizeLong,
|
||||
FlagStrings.BlockSizeShort,
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.TapeLong,
|
||||
FlagStrings.TapeShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageDecode] =
|
||||
[
|
||||
FlagStrings.DiskTagsLong,
|
||||
FlagStrings.DiskTagsShort,
|
||||
FlagStrings.LengthLong,
|
||||
FlagStrings.LengthShort,
|
||||
FlagStrings.SectorTagsLong,
|
||||
FlagStrings.SectorTagsShort,
|
||||
FlagStrings.StartLong,
|
||||
FlagStrings.StartShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageEntropy] =
|
||||
[
|
||||
FlagStrings.DuplicatedSectorsLong,
|
||||
FlagStrings.DuplicatedSectorsShort,
|
||||
FlagStrings.SeparatedTracksLong,
|
||||
FlagStrings.SeparatedTracksShort,
|
||||
FlagStrings.WholeDiscLong,
|
||||
FlagStrings.WholeDiscShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageInfo] = [],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageOptions] = [],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImagePrint] =
|
||||
[
|
||||
FlagStrings.LengthLong,
|
||||
FlagStrings.LengthShort,
|
||||
FlagStrings.LongSectorsLong,
|
||||
FlagStrings.LongSectorsShort,
|
||||
FlagStrings.StartLong,
|
||||
FlagStrings.StartShort,
|
||||
FlagStrings.WidthLong,
|
||||
FlagStrings.WidthShort,
|
||||
],
|
||||
|
||||
[CommandStrings.ImagePrefixLong + " " + CommandStrings.ImageVerify] =
|
||||
[
|
||||
FlagStrings.VerifyDiscLong,
|
||||
FlagStrings.VerifyDiscShort,
|
||||
FlagStrings.VerifySectorsLong,
|
||||
FlagStrings.VerifySectorsShort,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Media Family
|
||||
|
||||
[CommandStrings.MediaPrefixLong + " " + CommandStrings.MediaDump] =
|
||||
[
|
||||
FlagStrings.EjectLong,
|
||||
FlagStrings.EncodingLong,
|
||||
FlagStrings.EncodingShort,
|
||||
FlagStrings.FirstPregapLong,
|
||||
FlagStrings.FixOffsetLong,
|
||||
FlagStrings.FixSubchannelLong,
|
||||
FlagStrings.FixSubchannelCrcLong,
|
||||
FlagStrings.FixSubchannelPositionLong,
|
||||
FlagStrings.ForceLong,
|
||||
FlagStrings.ForceShort,
|
||||
FlagStrings.FormatConvertLong,
|
||||
FlagStrings.FormatConvertShort,
|
||||
FlagStrings.GenerateSubchannelsLong,
|
||||
FlagStrings.MaxBlocksLong,
|
||||
FlagStrings.MetadataLong,
|
||||
FlagStrings.OptionsLong,
|
||||
FlagStrings.OptionsShort,
|
||||
FlagStrings.PersistentLong,
|
||||
FlagStrings.PrivateLong,
|
||||
FlagStrings.ResumeLong,
|
||||
FlagStrings.ResumeShort,
|
||||
FlagStrings.RetryPassesLong,
|
||||
FlagStrings.RetryPassesShort,
|
||||
FlagStrings.RetrySubchannelLong,
|
||||
FlagStrings.SkipLong,
|
||||
FlagStrings.SkipShort,
|
||||
FlagStrings.SkipCdiReadyHoleLong,
|
||||
FlagStrings.SpeedLong,
|
||||
FlagStrings.StopOnErrorLong,
|
||||
FlagStrings.StopOnErrorShort,
|
||||
FlagStrings.StoreEncryptedLong,
|
||||
FlagStrings.SubchannelLong,
|
||||
FlagStrings.TitleKeysLong,
|
||||
FlagStrings.TrimLong,
|
||||
FlagStrings.UseBufferedReadsLong,
|
||||
FlagStrings.XMLSidecarLong,
|
||||
FlagStrings.XMLSidecarShort,
|
||||
],
|
||||
|
||||
[CommandStrings.MediaPrefixLong + " " + CommandStrings.MediaInfo] =
|
||||
[
|
||||
FlagStrings.OutputPrefixLong,
|
||||
FlagStrings.OutputPrefixShort,
|
||||
],
|
||||
|
||||
[CommandStrings.MediaPrefixLong + " " + CommandStrings.MediaScan] =
|
||||
[
|
||||
FlagStrings.ImgBurnLogLong,
|
||||
FlagStrings.ImgBurnLogShort,
|
||||
FlagStrings.MHDDLogLong,
|
||||
FlagStrings.MHDDLogShort,
|
||||
FlagStrings.UseBufferedReadsLong,
|
||||
],
|
||||
|
||||
#endregion
|
||||
|
||||
#region Standalone Commands
|
||||
|
||||
[CommandStrings.NONE] =
|
||||
[
|
||||
FlagStrings.DebugLong,
|
||||
FlagStrings.DebugShort,
|
||||
FlagStrings.HelpLong,
|
||||
FlagStrings.HelpShort,
|
||||
FlagStrings.HelpShortAlt,
|
||||
FlagStrings.VerboseLong,
|
||||
FlagStrings.VerboseShort,
|
||||
FlagStrings.VersionLong,
|
||||
],
|
||||
|
||||
[CommandStrings.Configure] = [],
|
||||
|
||||
[CommandStrings.Formats] = [],
|
||||
|
||||
[CommandStrings.ListEncodings] = [],
|
||||
|
||||
[CommandStrings.ListNamespaces] = [],
|
||||
|
||||
[CommandStrings.Remote] = [],
|
||||
|
||||
#endregion
|
||||
};
|
||||
}
|
||||
public override string GetDefaultExtension(MediaType? mediaType) => Converters.Extension(mediaType);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string GetDefaultExtension(MediaType? mediaType) => Converters.Extension(mediaType);
|
||||
public override MediaType? GetMediaType() => null;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool IsDumpingCommand()
|
||||
|
||||
@@ -148,54 +148,38 @@ namespace MPF.Core.ExecutionContexts
|
||||
SetDefaultParameters(drivePath, filename, driveSpeed, options);
|
||||
}
|
||||
|
||||
#region Virtual Methods
|
||||
#region Abstract Methods
|
||||
|
||||
/// <summary>
|
||||
/// Get all commands mapped to the supported flags
|
||||
/// </summary>
|
||||
/// <returns>Mappings from command to supported flags</returns>
|
||||
public virtual Dictionary<string, List<string>>? GetCommandSupport() => null;
|
||||
public abstract Dictionary<string, List<string>>? GetCommandSupport();
|
||||
|
||||
/// <summary>
|
||||
/// Blindly generate a parameter string based on the inputs
|
||||
/// </summary>
|
||||
/// <returns>Parameter string for invocation, null on error</returns>
|
||||
public virtual string? GenerateParameters() => null;
|
||||
public abstract string? GenerateParameters();
|
||||
|
||||
/// <summary>
|
||||
/// Get the default extension for a given media type
|
||||
/// </summary>
|
||||
/// <param name="mediaType">MediaType value to check</param>
|
||||
/// <returns>String representing the media type, null on error</returns>
|
||||
public virtual string? GetDefaultExtension(MediaType? mediaType) => null;
|
||||
public abstract string? GetDefaultExtension(MediaType? mediaType);
|
||||
|
||||
/// <summary>
|
||||
/// Get the MediaType from the current set of parameters
|
||||
/// </summary>
|
||||
/// <returns>MediaType value if successful, null on error</returns>
|
||||
public virtual MediaType? GetMediaType() => null;
|
||||
public abstract MediaType? GetMediaType();
|
||||
|
||||
/// <summary>
|
||||
/// Gets if the current command is considered a dumping command or not
|
||||
/// </summary>
|
||||
/// <returns>True if it's a dumping command, false otherwise</returns>
|
||||
public virtual bool IsDumpingCommand() => true;
|
||||
|
||||
/// <summary>
|
||||
/// Gets if the flag is supported by the current command
|
||||
/// </summary>
|
||||
/// <param name="flag">Flag value to check</param>
|
||||
/// <returns>True if the flag value is supported, false otherwise</returns>
|
||||
public virtual bool IsFlagSupported(string flag)
|
||||
{
|
||||
if (CommandSupport == null)
|
||||
return false;
|
||||
if (this.BaseCommand == null)
|
||||
return false;
|
||||
if (!CommandSupport.TryGetValue(this.BaseCommand, out var supported))
|
||||
return false;
|
||||
return supported.Contains(flag);
|
||||
}
|
||||
public abstract bool IsDumpingCommand();
|
||||
|
||||
/// <summary>
|
||||
/// Returns if the current Parameter object is valid
|
||||
@@ -206,7 +190,7 @@ namespace MPF.Core.ExecutionContexts
|
||||
/// <summary>
|
||||
/// Reset all special variables to have default values
|
||||
/// </summary>
|
||||
protected virtual void ResetValues() { }
|
||||
protected abstract void ResetValues();
|
||||
|
||||
/// <summary>
|
||||
/// Set default parameters for a given system and media type
|
||||
@@ -215,14 +199,14 @@ namespace MPF.Core.ExecutionContexts
|
||||
/// <param name="filename">Filename to use</param>
|
||||
/// <param name="driveSpeed">Drive speed to use</param>
|
||||
/// <param name="options">Options object containing all settings that may be used for setting parameters</param>
|
||||
protected virtual void SetDefaultParameters(string? drivePath, string filename, int? driveSpeed, Options options) { }
|
||||
protected abstract void SetDefaultParameters(string? drivePath, string filename, int? driveSpeed, Options options);
|
||||
|
||||
/// <summary>
|
||||
/// Scan a possible parameter string and populate whatever possible
|
||||
/// </summary>
|
||||
/// <param name="parameters">String possibly representing parameters</param>
|
||||
/// <returns>True if the parameters were set correctly, false otherwise</returns>
|
||||
protected virtual bool ValidateAndSetParameters(string? parameters) => !string.IsNullOrEmpty(parameters);
|
||||
protected abstract bool ValidateAndSetParameters(string? parameters);
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -332,6 +316,22 @@ namespace MPF.Core.ExecutionContexts
|
||||
return File.ReadAllText(filename);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets if the flag is supported by the current command
|
||||
/// </summary>
|
||||
/// <param name="flag">Flag value to check</param>
|
||||
/// <returns>True if the flag value is supported, false otherwise</returns>
|
||||
protected bool IsFlagSupported(string flag)
|
||||
{
|
||||
if (CommandSupport == null)
|
||||
return false;
|
||||
if (this.BaseCommand == null)
|
||||
return false;
|
||||
if (!CommandSupport.TryGetValue(this.BaseCommand, out var supported))
|
||||
return false;
|
||||
return supported.Contains(flag);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns whether a string is a valid drive letter
|
||||
/// </summary>
|
||||
|
||||
@@ -174,6 +174,217 @@ namespace MPF.Core.ExecutionContexts.DiscImageCreator
|
||||
|
||||
#region BaseExecutionContext Implementations
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override Dictionary<string, List<string>> GetCommandSupport()
|
||||
{
|
||||
return new Dictionary<string, List<string>>()
|
||||
{
|
||||
[CommandStrings.Audio] =
|
||||
[
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.Reverse,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SkipSector,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.Tages,
|
||||
],
|
||||
|
||||
[CommandStrings.BluRay] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.DVDReread,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.UseAnchorVolumeDescriptorPointer,
|
||||
],
|
||||
|
||||
[CommandStrings.Close] = [],
|
||||
|
||||
[CommandStrings.CompactDisc] =
|
||||
[
|
||||
FlagStrings.AddOffset,
|
||||
FlagStrings.AMSF,
|
||||
FlagStrings.AtariJaguar,
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ExtractMicroSoftCabFile,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.MultiSectorRead,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubQLibCrypt,
|
||||
FlagStrings.NoFixSubQSecuROM,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SeventyFour,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.VideoNow,
|
||||
FlagStrings.VideoNowColor,
|
||||
FlagStrings.VideoNowXP,
|
||||
],
|
||||
|
||||
[CommandStrings.Data] =
|
||||
[
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.Reverse,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SkipSector,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.Tages,
|
||||
],
|
||||
|
||||
[CommandStrings.DigitalVideoDisc] =
|
||||
[
|
||||
FlagStrings.CopyrightManagementInformation,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.DVDReread,
|
||||
FlagStrings.Fix,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.PadSector,
|
||||
FlagStrings.Range,
|
||||
FlagStrings.Raw,
|
||||
FlagStrings.Resume,
|
||||
FlagStrings.Reverse,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.SkipSector,
|
||||
FlagStrings.UseAnchorVolumeDescriptorPointer,
|
||||
],
|
||||
|
||||
[CommandStrings.Disk] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
],
|
||||
|
||||
[CommandStrings.DriveSpeed] = [],
|
||||
|
||||
[CommandStrings.Eject] = [],
|
||||
|
||||
[CommandStrings.Floppy] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
],
|
||||
|
||||
[CommandStrings.GDROM] =
|
||||
[
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
],
|
||||
|
||||
[CommandStrings.MDS] = [],
|
||||
|
||||
[CommandStrings.Merge] = [],
|
||||
|
||||
[CommandStrings.Reset] = [],
|
||||
|
||||
[CommandStrings.SACD] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
],
|
||||
|
||||
[CommandStrings.Start] = [],
|
||||
|
||||
[CommandStrings.Stop] = [],
|
||||
|
||||
[CommandStrings.Sub] = [],
|
||||
|
||||
[CommandStrings.Swap] =
|
||||
[
|
||||
FlagStrings.AddOffset,
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubQLibCrypt,
|
||||
FlagStrings.NoFixSubQSecuROM,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SeventyFour,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.VideoNow,
|
||||
FlagStrings.VideoNowColor,
|
||||
FlagStrings.VideoNowXP,
|
||||
],
|
||||
|
||||
[CommandStrings.Tape] = [],
|
||||
|
||||
[CommandStrings.Version] = [],
|
||||
|
||||
[CommandStrings.XBOX] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.DVDReread,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
|
||||
[CommandStrings.XBOXSwap] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
|
||||
[CommandStrings.XGD2Swap] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
|
||||
[CommandStrings.XGD3Swap] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string? GenerateParameters()
|
||||
{
|
||||
@@ -675,217 +886,6 @@ namespace MPF.Core.ExecutionContexts.DiscImageCreator
|
||||
return string.Join(" ", [.. parameters]);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override Dictionary<string, List<string>> GetCommandSupport()
|
||||
{
|
||||
return new Dictionary<string, List<string>>()
|
||||
{
|
||||
[CommandStrings.Audio] =
|
||||
[
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.Reverse,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SkipSector,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.Tages,
|
||||
],
|
||||
|
||||
[CommandStrings.BluRay] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.DVDReread,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.UseAnchorVolumeDescriptorPointer,
|
||||
],
|
||||
|
||||
[CommandStrings.Close] = [],
|
||||
|
||||
[CommandStrings.CompactDisc] =
|
||||
[
|
||||
FlagStrings.AddOffset,
|
||||
FlagStrings.AMSF,
|
||||
FlagStrings.AtariJaguar,
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ExtractMicroSoftCabFile,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.MultiSectorRead,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubQLibCrypt,
|
||||
FlagStrings.NoFixSubQSecuROM,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SeventyFour,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.VideoNow,
|
||||
FlagStrings.VideoNowColor,
|
||||
FlagStrings.VideoNowXP,
|
||||
],
|
||||
|
||||
[CommandStrings.Data] =
|
||||
[
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.Reverse,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SkipSector,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.Tages,
|
||||
],
|
||||
|
||||
[CommandStrings.DigitalVideoDisc] =
|
||||
[
|
||||
FlagStrings.CopyrightManagementInformation,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.DVDReread,
|
||||
FlagStrings.Fix,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.PadSector,
|
||||
FlagStrings.Range,
|
||||
FlagStrings.Raw,
|
||||
FlagStrings.Resume,
|
||||
FlagStrings.Reverse,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.SkipSector,
|
||||
FlagStrings.UseAnchorVolumeDescriptorPointer,
|
||||
],
|
||||
|
||||
[CommandStrings.Disk] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
],
|
||||
|
||||
[CommandStrings.DriveSpeed] = [],
|
||||
|
||||
[CommandStrings.Eject] = [],
|
||||
|
||||
[CommandStrings.Floppy] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
],
|
||||
|
||||
[CommandStrings.GDROM] =
|
||||
[
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
],
|
||||
|
||||
[CommandStrings.MDS] = [],
|
||||
|
||||
[CommandStrings.Merge] = [],
|
||||
|
||||
[CommandStrings.Reset] = [],
|
||||
|
||||
[CommandStrings.SACD] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
],
|
||||
|
||||
[CommandStrings.Start] = [],
|
||||
|
||||
[CommandStrings.Stop] = [],
|
||||
|
||||
[CommandStrings.Sub] = [],
|
||||
|
||||
[CommandStrings.Swap] =
|
||||
[
|
||||
FlagStrings.AddOffset,
|
||||
FlagStrings.BEOpcode,
|
||||
FlagStrings.C2Opcode,
|
||||
FlagStrings.D8Opcode,
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoFixSubP,
|
||||
FlagStrings.NoFixSubQ,
|
||||
FlagStrings.NoFixSubQLibCrypt,
|
||||
FlagStrings.NoFixSubQSecuROM,
|
||||
FlagStrings.NoFixSubRtoW,
|
||||
FlagStrings.ScanAntiMod,
|
||||
FlagStrings.ScanFileProtect,
|
||||
FlagStrings.ScanSectorProtect,
|
||||
FlagStrings.SeventyFour,
|
||||
FlagStrings.SubchannelReadLevel,
|
||||
FlagStrings.VideoNow,
|
||||
FlagStrings.VideoNowColor,
|
||||
FlagStrings.VideoNowXP,
|
||||
],
|
||||
|
||||
[CommandStrings.Tape] = [],
|
||||
|
||||
[CommandStrings.Version] = [],
|
||||
|
||||
[CommandStrings.XBOX] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.DVDReread,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
|
||||
[CommandStrings.XBOXSwap] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
|
||||
[CommandStrings.XGD2Swap] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
|
||||
[CommandStrings.XGD3Swap] =
|
||||
[
|
||||
FlagStrings.DatExpand,
|
||||
FlagStrings.DisableBeep,
|
||||
FlagStrings.ForceUnitAccess,
|
||||
FlagStrings.NoSkipSS,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string? GetDefaultExtension(MediaType? mediaType) => Converters.Extension(mediaType);
|
||||
|
||||
|
||||
@@ -166,6 +166,68 @@ namespace MPF.Core.ExecutionContexts.Redumper
|
||||
|
||||
#region BaseExecutionContext Implementations
|
||||
|
||||
/// <inheritdoc/>
|
||||
/// <remarks>Command support is irrelevant for redumper</remarks>
|
||||
public override Dictionary<string, List<string>> GetCommandSupport()
|
||||
{
|
||||
return new Dictionary<string, List<string>>()
|
||||
{
|
||||
[CommandStrings.NONE] =
|
||||
[
|
||||
// General
|
||||
FlagStrings.HelpLong,
|
||||
FlagStrings.HelpShort,
|
||||
FlagStrings.Version,
|
||||
FlagStrings.Verbose,
|
||||
FlagStrings.Debug,
|
||||
FlagStrings.Drive,
|
||||
FlagStrings.Speed,
|
||||
FlagStrings.Retries,
|
||||
FlagStrings.ImagePath,
|
||||
FlagStrings.ImageName,
|
||||
FlagStrings.Overwrite,
|
||||
|
||||
// Drive Configuration
|
||||
FlagStrings.DriveType,
|
||||
FlagStrings.DriveReadOffset,
|
||||
FlagStrings.DriveC2Shift,
|
||||
FlagStrings.DrivePregapStart,
|
||||
FlagStrings.DriveReadMethod,
|
||||
FlagStrings.DriveSectorOrder,
|
||||
|
||||
// Drive Specific
|
||||
FlagStrings.PlextorSkipLeadin,
|
||||
FlagStrings.PlextorLeadinRetries,
|
||||
FlagStrings.AsusSkipLeadout,
|
||||
|
||||
// Offset
|
||||
FlagStrings.ForceOffset,
|
||||
FlagStrings.AudioSilenceThreshold,
|
||||
FlagStrings.CorrectOffsetShift,
|
||||
FlagStrings.OffsetShiftRelocate,
|
||||
|
||||
// Split
|
||||
FlagStrings.ForceSplit,
|
||||
FlagStrings.LeaveUnchanged,
|
||||
FlagStrings.ForceQTOC,
|
||||
FlagStrings.SkipFill,
|
||||
FlagStrings.ISO9660Trim,
|
||||
|
||||
// Miscellaneous
|
||||
FlagStrings.LBAStart,
|
||||
FlagStrings.LBAEnd,
|
||||
FlagStrings.RefineSubchannel,
|
||||
FlagStrings.Skip,
|
||||
FlagStrings.DumpWriteOffset,
|
||||
FlagStrings.DumpReadSize,
|
||||
FlagStrings.OverreadLeadout,
|
||||
FlagStrings.ForceUnscrambled,
|
||||
FlagStrings.LegacySubs,
|
||||
FlagStrings.DisableCDText,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
/// <remarks>
|
||||
/// Redumper is unique in that the base command can be multiple
|
||||
@@ -421,69 +483,10 @@ namespace MPF.Core.ExecutionContexts.Redumper
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
/// <remarks>Command support is irrelevant for redumper</remarks>
|
||||
public override Dictionary<string, List<string>> GetCommandSupport()
|
||||
{
|
||||
return new Dictionary<string, List<string>>()
|
||||
{
|
||||
[CommandStrings.NONE] =
|
||||
[
|
||||
// General
|
||||
FlagStrings.HelpLong,
|
||||
FlagStrings.HelpShort,
|
||||
FlagStrings.Version,
|
||||
FlagStrings.Verbose,
|
||||
FlagStrings.Debug,
|
||||
FlagStrings.Drive,
|
||||
FlagStrings.Speed,
|
||||
FlagStrings.Retries,
|
||||
FlagStrings.ImagePath,
|
||||
FlagStrings.ImageName,
|
||||
FlagStrings.Overwrite,
|
||||
|
||||
// Drive Configuration
|
||||
FlagStrings.DriveType,
|
||||
FlagStrings.DriveReadOffset,
|
||||
FlagStrings.DriveC2Shift,
|
||||
FlagStrings.DrivePregapStart,
|
||||
FlagStrings.DriveReadMethod,
|
||||
FlagStrings.DriveSectorOrder,
|
||||
|
||||
// Drive Specific
|
||||
FlagStrings.PlextorSkipLeadin,
|
||||
FlagStrings.PlextorLeadinRetries,
|
||||
FlagStrings.AsusSkipLeadout,
|
||||
|
||||
// Offset
|
||||
FlagStrings.ForceOffset,
|
||||
FlagStrings.AudioSilenceThreshold,
|
||||
FlagStrings.CorrectOffsetShift,
|
||||
FlagStrings.OffsetShiftRelocate,
|
||||
|
||||
// Split
|
||||
FlagStrings.ForceSplit,
|
||||
FlagStrings.LeaveUnchanged,
|
||||
FlagStrings.ForceQTOC,
|
||||
FlagStrings.SkipFill,
|
||||
FlagStrings.ISO9660Trim,
|
||||
|
||||
// Miscellaneous
|
||||
FlagStrings.LBAStart,
|
||||
FlagStrings.LBAEnd,
|
||||
FlagStrings.RefineSubchannel,
|
||||
FlagStrings.Skip,
|
||||
FlagStrings.DumpWriteOffset,
|
||||
FlagStrings.DumpReadSize,
|
||||
FlagStrings.OverreadLeadout,
|
||||
FlagStrings.ForceUnscrambled,
|
||||
FlagStrings.LegacySubs,
|
||||
FlagStrings.DisableCDText,
|
||||
],
|
||||
};
|
||||
}
|
||||
public override string? GetDefaultExtension(MediaType? mediaType) => Converters.Extension(mediaType);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string? GetDefaultExtension(MediaType? mediaType) => Converters.Extension(mediaType);
|
||||
public override MediaType? GetMediaType() => null;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool IsDumpingCommand()
|
||||
|
||||
Reference in New Issue
Block a user