diff --git a/CHANGELIST.md b/CHANGELIST.md index d1f4c996..047f5459 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -157,6 +157,7 @@ - Combine remaining Core into Frontend - Remove Core library, fix build - Create Frontend.Tools namespace +- Remove magic strings from settings reading ### 3.1.9a (2024-05-21) diff --git a/MPF.ExecutionContexts/Aaru/ExecutionContext.cs b/MPF.ExecutionContexts/Aaru/ExecutionContext.cs index 48b53db4..2c1b5ae0 100644 --- a/MPF.ExecutionContexts/Aaru/ExecutionContext.cs +++ b/MPF.ExecutionContexts/Aaru/ExecutionContext.cs @@ -1208,7 +1208,7 @@ namespace MPF.ExecutionContexts.Aaru return; // Set retry count - int rereadCount = GetInt32Setting(options, "AaruRereadCount", 5); + int rereadCount = GetInt32Setting(options, SettingConstants.RereadCount, 5); if (rereadCount > 0) { this[FlagStrings.RetryPassesLong] = true; @@ -1216,13 +1216,13 @@ namespace MPF.ExecutionContexts.Aaru } // Set user-defined options - if (GetBooleanSetting(options, "AaruEnableDebug", false)) + if (GetBooleanSetting(options, SettingConstants.EnableDebug, false)) this[FlagStrings.DebugLong] = true; - if (GetBooleanSetting(options, "AaruEnableVerbose", false)) + if (GetBooleanSetting(options, SettingConstants.EnableVerbose, false)) this[FlagStrings.VerboseLong] = true; - if (GetBooleanSetting(options, "AaruForceDumping", true)) + if (GetBooleanSetting(options, SettingConstants.ForceDumping, true)) this[FlagStrings.ForceLong] = true; - if (GetBooleanSetting(options, "AaruStripPersonalData", false)) + if (GetBooleanSetting(options, SettingConstants.StripPersonalData, false)) this[FlagStrings.PrivateLong] = true; // TODO: Look at dump-media formats and the like and see what options there are there to fill in defaults diff --git a/MPF.ExecutionContexts/Aaru/SettingConstants.cs b/MPF.ExecutionContexts/Aaru/SettingConstants.cs new file mode 100644 index 00000000..6af59d16 --- /dev/null +++ b/MPF.ExecutionContexts/Aaru/SettingConstants.cs @@ -0,0 +1,15 @@ +namespace MPF.ExecutionContexts.Aaru +{ + public static class SettingConstants + { + public const string EnableDebug = "AaruEnableDebug"; + + public const string EnableVerbose = "AaruEnableVerbose"; + + public const string ForceDumping = "AaruForceDumping"; + + public const string RereadCount = "AaruRereadCount"; + + public const string StripPersonalData = "AaruStripPersonalData"; + } +} \ No newline at end of file diff --git a/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs b/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs index 61a4c68a..d20d09d0 100644 --- a/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs +++ b/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs @@ -957,11 +957,11 @@ namespace MPF.ExecutionContexts.DiscImageCreator return; // Set disable beep flag, if needed - if (GetBooleanSetting(options, "DICQuietMode", false)) + if (GetBooleanSetting(options, SettingConstants.QuietMode, false)) this[FlagStrings.DisableBeep] = true; // Set the C2 reread count - int cdRereadCount = GetInt32Setting(options, "DICRereadCount", 20); + int cdRereadCount = GetInt32Setting(options, SettingConstants.RereadCount, 20); C2OpcodeValue[0] = cdRereadCount switch { -1 => null, @@ -970,7 +970,7 @@ namespace MPF.ExecutionContexts.DiscImageCreator }; // Set the DVD/HD-DVD/BD reread count - int dvdRereadCount = GetInt32Setting(options, "DICDVDRereadCount", 10); + int dvdRereadCount = GetInt32Setting(options, SettingConstants.DVDRereadCount, 10); DVDRereadValue = dvdRereadCount switch { -1 => null, @@ -983,9 +983,9 @@ namespace MPF.ExecutionContexts.DiscImageCreator { case MediaType.CDROM: this[FlagStrings.C2Opcode] = true; - this[FlagStrings.MultiSectorRead] = GetBooleanSetting(options, "DICMultiSectorRead", false); + this[FlagStrings.MultiSectorRead] = GetBooleanSetting(options, SettingConstants.MultiSectorRead, false); if (this[FlagStrings.MultiSectorRead] == true) - this.MultiSectorReadValue = GetInt32Setting(options, "DICMultiSectorReadValue", 0); + this.MultiSectorReadValue = GetInt32Setting(options, SettingConstants.MultiSectorReadValue, 0); switch (this.System) { @@ -993,8 +993,8 @@ namespace MPF.ExecutionContexts.DiscImageCreator case RedumpSystem.IBMPCcompatible: this[FlagStrings.NoFixSubQSecuROM] = true; this[FlagStrings.ScanFileProtect] = true; - this[FlagStrings.ScanSectorProtect] = GetBooleanSetting(options, "DICParanoidMode", false); - this[FlagStrings.SubchannelReadLevel] = GetBooleanSetting(options, "DICParanoidMode", false); + this[FlagStrings.ScanSectorProtect] = GetBooleanSetting(options, SettingConstants.ParanoidMode, false); + this[FlagStrings.SubchannelReadLevel] = GetBooleanSetting(options, SettingConstants.ParanoidMode, false); if (this[FlagStrings.SubchannelReadLevel] == true) SubchannelReadLevelValue = 2; @@ -1016,15 +1016,15 @@ namespace MPF.ExecutionContexts.DiscImageCreator } break; case MediaType.DVD: - this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, "DICUseCMIFlag", false); - this[FlagStrings.ScanFileProtect] = GetBooleanSetting(options, "DICParanoidMode", false); + this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, SettingConstants.UseCMIFlag, false); + this[FlagStrings.ScanFileProtect] = GetBooleanSetting(options, SettingConstants.ParanoidMode, false); this[FlagStrings.DVDReread] = true; break; case MediaType.GDROM: this[FlagStrings.C2Opcode] = true; break; case MediaType.HDDVD: - this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, "DICUseCMIFlag", false); + this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, SettingConstants.UseCMIFlag, false); this[FlagStrings.DVDReread] = true; break; case MediaType.BluRay: diff --git a/MPF.ExecutionContexts/DiscImageCreator/SettingConstants.cs b/MPF.ExecutionContexts/DiscImageCreator/SettingConstants.cs new file mode 100644 index 00000000..9077f762 --- /dev/null +++ b/MPF.ExecutionContexts/DiscImageCreator/SettingConstants.cs @@ -0,0 +1,19 @@ +namespace MPF.ExecutionContexts.DiscImageCreator +{ + public static class SettingConstants + { + public const string DVDRereadCount = "DICDVDRereadCount"; + + public const string MultiSectorRead = "DICMultiSectorRead"; + + public const string MultiSectorReadValue = "DICMultiSectorReadValue"; + + public const string ParanoidMode = "DICParanoidMode"; + + public const string QuietMode = "DICQuietMode"; + + public const string RereadCount = "DICRereadCount"; + + public const string UseCMIFlag = "DICUseCMIFlag"; + } +} \ No newline at end of file diff --git a/MPF.ExecutionContexts/Redumper/ExecutionContext.cs b/MPF.ExecutionContexts/Redumper/ExecutionContext.cs index f745fe17..6a69dbf2 100644 --- a/MPF.ExecutionContexts/Redumper/ExecutionContext.cs +++ b/MPF.ExecutionContexts/Redumper/ExecutionContext.cs @@ -579,26 +579,26 @@ namespace MPF.ExecutionContexts.Redumper SpeedValue = driveSpeed; // Set user-defined options - if (GetBooleanSetting(options, "RedumperEnableVerbose", true)) + if (GetBooleanSetting(options, SettingConstants.EnableVerbose, true)) this[FlagStrings.Verbose] = true; - if (GetBooleanSetting(options, "RedumperEnableDebug", false)) + if (GetBooleanSetting(options, SettingConstants.EnableDebug, false)) this[FlagStrings.Debug] = true; - string? readMethod = GetStringSetting(options, "RedumperReadMethod", "NONE"); + string? readMethod = GetStringSetting(options, SettingConstants.ReadMethod, "NONE"); if (!string.IsNullOrEmpty(readMethod) && readMethod != "NONE") { this[FlagStrings.DriveReadMethod] = true; DriveReadMethodValue = readMethod; } - string? sectorOrder = GetStringSetting(options, "RedumperSectorOrder", "NONE"); + string? sectorOrder = GetStringSetting(options, SettingConstants.SectorOrder, "NONE"); if (!string.IsNullOrEmpty(sectorOrder) && sectorOrder != "NONE") { this[FlagStrings.DriveSectorOrder] = true; DriveSectorOrderValue = sectorOrder; } - if (GetBooleanSetting(options, "RedumperUseGenericDriveType", false)) + if (GetBooleanSetting(options, SettingConstants.UseGenericDriveType, false)) { this[FlagStrings.DriveType] = true; DriveTypeValue = "GENERIC"; @@ -623,12 +623,12 @@ namespace MPF.ExecutionContexts.Redumper } this[FlagStrings.Retries] = true; - RetriesValue = GetInt32Setting(options, "RedumperRereadCount", 20); + RetriesValue = GetInt32Setting(options, SettingConstants.RereadCount, 20); - if (GetBooleanSetting(options, "RedumperEnableLeadinRetry", false)) + if (GetBooleanSetting(options, SettingConstants.EnableLeadinRetry, false)) { this[FlagStrings.PlextorLeadinRetries] = true; - PlextorLeadinRetriesValue = GetInt32Setting(options, "RedumperLeadinRetryCount", 4); + PlextorLeadinRetriesValue = GetInt32Setting(options, SettingConstants.LeadinRetryCount, 4); } } diff --git a/MPF.ExecutionContexts/Redumper/SettingConstants.cs b/MPF.ExecutionContexts/Redumper/SettingConstants.cs new file mode 100644 index 00000000..8f7a9fa1 --- /dev/null +++ b/MPF.ExecutionContexts/Redumper/SettingConstants.cs @@ -0,0 +1,21 @@ +namespace MPF.ExecutionContexts.Redumper +{ + public static class SettingConstants + { + public const string EnableDebug = "RedumperEnableDebug"; + + public const string EnableLeadinRetry = "RedumperEnableLeadinRetry"; + + public const string EnableVerbose = "RedumperEnableVerbose"; + + public const string LeadinRetryCount = "RedumperLeadinRetryCount"; + + public const string ReadMethod = "RedumperReadMethod"; + + public const string RereadCount = "RedumperRereadCount"; + + public const string SectorOrder = "RedumperSectorOrder"; + + public const string UseGenericDriveType = "RedumperUseGenericDriveType"; + } +} \ No newline at end of file diff --git a/MPF.Frontend/Options.cs b/MPF.Frontend/Options.cs index 1d2e1e63..dd9bb516 100644 --- a/MPF.Frontend/Options.cs +++ b/MPF.Frontend/Options.cs @@ -1,5 +1,8 @@ using System.Collections.Generic; using SabreTools.RedumpLib.Data; +using AaruSettings = MPF.ExecutionContexts.Aaru.SettingConstants; +using DICSettings = MPF.ExecutionContexts.DiscImageCreator.SettingConstants; +using RedumperSettings = MPF.ExecutionContexts.Redumper.SettingConstants; namespace MPF.Frontend { @@ -181,8 +184,8 @@ namespace MPF.Frontend /// public bool AaruEnableDebug { - get { return GetBooleanSetting(Settings, "AaruEnableDebug", false); } - set { Settings["AaruEnableDebug"] = value.ToString(); } + get { return GetBooleanSetting(Settings, AaruSettings.EnableDebug, false); } + set { Settings[AaruSettings.EnableDebug] = value.ToString(); } } /// @@ -190,8 +193,8 @@ namespace MPF.Frontend /// public bool AaruEnableVerbose { - get { return GetBooleanSetting(Settings, "AaruEnableVerbose", false); } - set { Settings["AaruEnableVerbose"] = value.ToString(); } + get { return GetBooleanSetting(Settings, AaruSettings.EnableVerbose, false); } + set { Settings[AaruSettings.EnableVerbose] = value.ToString(); } } /// @@ -199,8 +202,8 @@ namespace MPF.Frontend /// public bool AaruForceDumping { - get { return GetBooleanSetting(Settings, "AaruForceDumping", true); } - set { Settings["AaruForceDumping"] = value.ToString(); } + get { return GetBooleanSetting(Settings, AaruSettings.ForceDumping, true); } + set { Settings[AaruSettings.ForceDumping] = value.ToString(); } } /// @@ -208,8 +211,8 @@ namespace MPF.Frontend /// public int AaruRereadCount { - get { return GetInt32Setting(Settings, "AaruRereadCount", 5); } - set { Settings["AaruRereadCount"] = value.ToString(); } + get { return GetInt32Setting(Settings, AaruSettings.RereadCount, 5); } + set { Settings[AaruSettings.RereadCount] = value.ToString(); } } /// @@ -217,8 +220,8 @@ namespace MPF.Frontend /// public bool AaruStripPersonalData { - get { return GetBooleanSetting(Settings, "AaruStripPersonalData", false); } - set { Settings["AaruStripPersonalData"] = value.ToString(); } + get { return GetBooleanSetting(Settings, AaruSettings.StripPersonalData, false); } + set { Settings[AaruSettings.StripPersonalData] = value.ToString(); } } #endregion @@ -230,8 +233,8 @@ namespace MPF.Frontend /// public bool DICMultiSectorRead { - get { return GetBooleanSetting(Settings, "DICMultiSectorRead", false); } - set { Settings["DICMultiSectorRead"] = value.ToString(); } + get { return GetBooleanSetting(Settings, DICSettings.MultiSectorRead, false); } + set { Settings[DICSettings.MultiSectorRead] = value.ToString(); } } /// @@ -239,8 +242,8 @@ namespace MPF.Frontend /// public int DICMultiSectorReadValue { - get { return GetInt32Setting(Settings, "DICMultiSectorReadValue", 0); } - set { Settings["DICMultiSectorReadValue"] = value.ToString(); } + get { return GetInt32Setting(Settings, DICSettings.MultiSectorReadValue, 0); } + set { Settings[DICSettings.MultiSectorReadValue] = value.ToString(); } } /// @@ -253,8 +256,8 @@ namespace MPF.Frontend /// public bool DICParanoidMode { - get { return GetBooleanSetting(Settings, "DICParanoidMode", false); } - set { Settings["DICParanoidMode"] = value.ToString(); } + get { return GetBooleanSetting(Settings, DICSettings.ParanoidMode, false); } + set { Settings[DICSettings.ParanoidMode] = value.ToString(); } } /// @@ -262,8 +265,8 @@ namespace MPF.Frontend /// public bool DICQuietMode { - get { return GetBooleanSetting(Settings, "DICQuietMode", false); } - set { Settings["DICQuietMode"] = value.ToString(); } + get { return GetBooleanSetting(Settings, DICSettings.QuietMode, false); } + set { Settings[DICSettings.QuietMode] = value.ToString(); } } /// @@ -271,8 +274,8 @@ namespace MPF.Frontend /// public int DICRereadCount { - get { return GetInt32Setting(Settings, "DICRereadCount", 20); } - set { Settings["DICRereadCount"] = value.ToString(); } + get { return GetInt32Setting(Settings, DICSettings.RereadCount, 20); } + set { Settings[DICSettings.RereadCount] = value.ToString(); } } /// @@ -280,8 +283,8 @@ namespace MPF.Frontend /// public int DICDVDRereadCount { - get { return GetInt32Setting(Settings, "DICDVDRereadCount", 10); } - set { Settings["DICDVDRereadCount"] = value.ToString(); } + get { return GetInt32Setting(Settings, DICSettings.DVDRereadCount, 10); } + set { Settings[DICSettings.DVDRereadCount] = value.ToString(); } } /// @@ -289,8 +292,8 @@ namespace MPF.Frontend /// public bool DICUseCMIFlag { - get { return GetBooleanSetting(Settings, "DICUseCMIFlag", false); } - set { Settings["DICUseCMIFlag"] = value.ToString(); } + get { return GetBooleanSetting(Settings, DICSettings.UseCMIFlag, false); } + set { Settings[DICSettings.UseCMIFlag] = value.ToString(); } } #endregion @@ -302,8 +305,8 @@ namespace MPF.Frontend /// public bool RedumperEnableDebug { - get { return GetBooleanSetting(Settings, "RedumperEnableDebug", false); } - set { Settings["RedumperEnableDebug"] = value.ToString(); } + get { return GetBooleanSetting(Settings, RedumperSettings.EnableDebug, false); } + set { Settings[RedumperSettings.EnableDebug] = value.ToString(); } } /// @@ -311,8 +314,8 @@ namespace MPF.Frontend /// public bool RedumperEnableLeadinRetry { - get { return GetBooleanSetting(Settings, "RedumperEnableLeadinRetry", false); } - set { Settings["RedumperEnableLeadinRetry"] = value.ToString(); } + get { return GetBooleanSetting(Settings, RedumperSettings.EnableLeadinRetry, false); } + set { Settings[RedumperSettings.EnableLeadinRetry] = value.ToString(); } } /// @@ -320,8 +323,8 @@ namespace MPF.Frontend /// public bool RedumperEnableVerbose { - get { return GetBooleanSetting(Settings, "RedumperEnableVerbose", true); } - set { Settings["RedumperEnableVerbose"] = value.ToString(); } + get { return GetBooleanSetting(Settings, RedumperSettings.EnableVerbose, true); } + set { Settings[RedumperSettings.EnableVerbose] = value.ToString(); } } /// @@ -329,8 +332,8 @@ namespace MPF.Frontend /// public int RedumperLeadinRetryCount { - get { return GetInt32Setting(Settings, "RedumperLeadinRetryCount", 4); } - set { Settings["RedumperLeadinRetryCount"] = value.ToString(); } + get { return GetInt32Setting(Settings, RedumperSettings.LeadinRetryCount, 4); } + set { Settings[RedumperSettings.LeadinRetryCount] = value.ToString(); } } /// @@ -347,8 +350,8 @@ namespace MPF.Frontend /// public bool RedumperUseGenericDriveType { - get { return GetBooleanSetting(Settings, "RedumperUseGenericDriveType", false); } - set { Settings["RedumperUseGenericDriveType"] = value.ToString(); } + get { return GetBooleanSetting(Settings, RedumperSettings.UseGenericDriveType, false); } + set { Settings[RedumperSettings.UseGenericDriveType] = value.ToString(); } } /// @@ -358,12 +361,12 @@ namespace MPF.Frontend { get { - var valueString = GetStringSetting(Settings, "RedumperReadMethod", RedumperReadMethod.NONE.ToString()); + var valueString = GetStringSetting(Settings, RedumperSettings.ReadMethod, RedumperReadMethod.NONE.ToString()); return ToRedumperReadMethod(valueString); } set { - Settings["RedumperReadMethod"] = value.ToString(); + Settings[RedumperSettings.ReadMethod] = value.ToString(); } } @@ -374,12 +377,12 @@ namespace MPF.Frontend { get { - var valueString = GetStringSetting(Settings, "RedumperSectorOrder", RedumperSectorOrder.NONE.ToString()); + var valueString = GetStringSetting(Settings, RedumperSettings.SectorOrder, RedumperSectorOrder.NONE.ToString()); return ToRedumperSectorOrder(valueString); } set { - Settings["RedumperSectorOrder"] = value.ToString(); + Settings[RedumperSettings.SectorOrder] = value.ToString(); } } @@ -388,8 +391,8 @@ namespace MPF.Frontend /// public int RedumperRereadCount { - get { return GetInt32Setting(Settings, "RedumperRereadCount", 20); } - set { Settings["RedumperRereadCount"] = value.ToString(); } + get { return GetInt32Setting(Settings, RedumperSettings.RereadCount, 20); } + set { Settings[RedumperSettings.RereadCount] = value.ToString(); } } #endregion