From c9a67b1b51a5d62ca1daa132a74813eaedf30690 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 28 May 2024 10:16:50 -0400 Subject: [PATCH] Move ToInternalProgram to Options --- CHANGELIST.md | 1 + MPF.Core/EnumExtensions.cs | 47 ----------------------------------- MPF.Core/Options.cs | 45 ++++++++++++++++++++++++++++++++- MPF.Frontend/OptionsLoader.cs | 4 +-- 4 files changed, 47 insertions(+), 50 deletions(-) diff --git a/CHANGELIST.md b/CHANGELIST.md index d6c8ab5f..2cd031c1 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -129,6 +129,7 @@ - Move ToMediaType to OptionsLoader - Move ListPrograms to OptionsLoader - Move DoesSupportDriveSpeed to DumpEnvironment +- Move ToInternalProgram to Options ### 3.1.9a (2024-05-21) diff --git a/MPF.Core/EnumExtensions.cs b/MPF.Core/EnumExtensions.cs index 7988f54b..2460d710 100644 --- a/MPF.Core/EnumExtensions.cs +++ b/MPF.Core/EnumExtensions.cs @@ -127,52 +127,5 @@ namespace MPF.Core } #endregion - - #region Convert From String - - /// - /// Get the InternalProgram enum value for a given string - /// - /// String value to convert - /// InternalProgram represented by the string, if possible - public static InternalProgram ToInternalProgram(string? internalProgram) - { - return (internalProgram?.ToLowerInvariant()) switch - { - // Dumping support - "aaru" - or "chef" - or "dichef" - or "discimagechef" => InternalProgram.Aaru, - "creator" - or "dic" - or "dicreator" - or "discimagecreator" => InternalProgram.DiscImageCreator, - "rd" - or "redumper" => InternalProgram.Redumper, - - // Verification support only - "cleanrip" - or "cr" => InternalProgram.CleanRip, - "ps3cfw" - or "ps3" - or "getkey" - or "managunz" - or "multiman" => InternalProgram.PS3CFW, - "uic" - or "umd" - or "umdcreator" - or "umdimagecreator" => InternalProgram.UmdImageCreator, - "xbc" - or "xbox" - or "xbox360" - or "xboxcreator" - or "xboxbackupcreator" => InternalProgram.XboxBackupCreator, - - _ => InternalProgram.NONE, - }; - } - - #endregion } } diff --git a/MPF.Core/Options.cs b/MPF.Core/Options.cs index 76a8dc96..59b22c69 100644 --- a/MPF.Core/Options.cs +++ b/MPF.Core/Options.cs @@ -56,7 +56,7 @@ namespace MPF.Core get { var valueString = GetStringSetting(Settings, "InternalProgram", InternalProgram.Redumper.ToString()); - var valueEnum = EnumExtensions.ToInternalProgram(valueString); + var valueEnum = ToInternalProgram(valueString); return valueEnum == InternalProgram.NONE ? InternalProgram.Redumper : valueEnum; } set @@ -662,6 +662,49 @@ namespace MPF.Core #region Helpers + /// + /// Get the InternalProgram enum value for a given string + /// + /// String value to convert + /// InternalProgram represented by the string, if possible + public static InternalProgram ToInternalProgram(string? internalProgram) + { + return (internalProgram?.ToLowerInvariant()) switch + { + // Dumping support + "aaru" + or "chef" + or "dichef" + or "discimagechef" => InternalProgram.Aaru, + "creator" + or "dic" + or "dicreator" + or "discimagecreator" => InternalProgram.DiscImageCreator, + "rd" + or "redumper" => InternalProgram.Redumper, + + // Verification support only + "cleanrip" + or "cr" => InternalProgram.CleanRip, + "ps3cfw" + or "ps3" + or "getkey" + or "managunz" + or "multiman" => InternalProgram.PS3CFW, + "uic" + or "umd" + or "umdcreator" + or "umdimagecreator" => InternalProgram.UmdImageCreator, + "xbc" + or "xbox" + or "xbox360" + or "xboxcreator" + or "xboxbackupcreator" => InternalProgram.XboxBackupCreator, + + _ => InternalProgram.NONE, + }; + } + /// /// Get a Boolean setting from a settings, dictionary /// diff --git a/MPF.Frontend/OptionsLoader.cs b/MPF.Frontend/OptionsLoader.cs index b2a43306..d927c57b 100644 --- a/MPF.Frontend/OptionsLoader.cs +++ b/MPF.Frontend/OptionsLoader.cs @@ -131,12 +131,12 @@ namespace MPF.Frontend if (args[startIndex].StartsWith("-u=") || args[startIndex].StartsWith("--use=")) { string internalProgram = args[startIndex].Split('=')[1]; - options.InternalProgram = EnumExtensions.ToInternalProgram(internalProgram); + options.InternalProgram = Options.ToInternalProgram(internalProgram); } else if (args[startIndex] == "-u" || args[startIndex] == "--use") { string internalProgram = args[startIndex + 1]; - options.InternalProgram = EnumExtensions.ToInternalProgram(internalProgram); + options.InternalProgram = Options.ToInternalProgram(internalProgram); startIndex++; }