Replace user info func with ProcessUserInfoDelegate

This commit is contained in:
Matt Nadareski
2024-11-03 22:29:26 -05:00
parent a0825f276b
commit ee0ccecfb2
7 changed files with 23 additions and 12 deletions

View File

@@ -31,6 +31,7 @@
- Simplify GetMediaType return
- Reduce call complexity for login result
- Use new ProtectionDictionary type
- Replace user info func with ProcessUserInfoDelegate
### 3.2.2 (2024-09-24)

View File

@@ -424,7 +424,7 @@ namespace MPF.Frontend
public async Task<ResultEventArgs> VerifyAndSaveDumpOutput(
IProgress<ResultEventArgs>? resultProgress = null,
IProgress<ProtectionProgress>? protectionProgress = null,
Func<SubmissionInfo?, (bool?, SubmissionInfo?)>? processUserInfo = null,
ProcessUserInfoDelegate? processUserInfo = null,
SubmissionInfo? seedInfo = null)
{
if (_processor == null)
@@ -470,8 +470,7 @@ namespace MPF.Frontend
{
resultProgress?.Report(ResultEventArgs.Success("Waiting for additional disc information..."));
bool? filledInfo;
(filledInfo, submissionInfo) = processUserInfo(submissionInfo);
bool? filledInfo = processUserInfo(ref submissionInfo);
if (filledInfo == true)
resultProgress?.Report(ResultEventArgs.Success("Additional disc information added!"));

View File

@@ -0,0 +1,11 @@
using SabreTools.RedumpLib.Data;
namespace MPF.Frontend
{
/// <summary>
/// Determines how user information is processed, if at all
/// </summary>
/// <param name="info">Submission info that may be overwritten</param>
/// <returns>True for successful updating, false or null otherwise</returns>
public delegate bool? ProcessUserInfoDelegate(ref SubmissionInfo? info);
}

View File

@@ -445,7 +445,7 @@ namespace MPF.Frontend.ViewModels
/// Performs MPF.Check functionality
/// </summary>
/// <returns>An error message if failed, otherwise string.Empty/null</returns>
public async Task<string?> CheckDump(Func<SubmissionInfo?, (bool?, SubmissionInfo?)> processUserInfo)
public async Task<string?> CheckDump(ProcessUserInfoDelegate processUserInfo)
{
if (string.IsNullOrEmpty(InputPath))
return "Invalid Input path";

View File

@@ -68,7 +68,7 @@ namespace MPF.Frontend.ViewModels
/// <summary>
/// Function to process user information
/// </summary>
private Func<SubmissionInfo?, (bool?, SubmissionInfo?)>? _processUserInfo;
private ProcessUserInfoDelegate? _processUserInfo;
#endregion
@@ -566,7 +566,7 @@ namespace MPF.Frontend.ViewModels
public void Init(
Action<LogLevel, string> loggerAction,
Func<string, string, int, bool, bool?> displayUserMessage,
Func<SubmissionInfo?, (bool?, SubmissionInfo?)> processUserInfo)
ProcessUserInfoDelegate processUserInfo)
{
// Set the callbacks
_logger = loggerAction;

View File

@@ -181,7 +181,7 @@ namespace MPF.UI.Windows
/// </summary>
/// <param name="submissionInfo">SubmissionInfo object to display and possibly change</param>
/// <returns>Dialog open result</returns>
public (bool?, SubmissionInfo?) ShowDiscInformationWindow(SubmissionInfo? submissionInfo)
public bool? ShowDiscInformationWindow(ref SubmissionInfo? submissionInfo)
{
var discInformationWindow = new DiscInformationWindow(CheckDumpViewModel.Options, submissionInfo)
{
@@ -199,7 +199,7 @@ namespace MPF.UI.Windows
if (result == true)
submissionInfo = (discInformationWindow.DiscInformationViewModel.SubmissionInfo.Clone() as SubmissionInfo)!;
return (result, submissionInfo!);
return result;
}
#endregion

View File

@@ -287,8 +287,8 @@ namespace MPF.UI.Windows
public void ShowDebugDiscInfoWindow()
{
var submissionInfo = MainViewModel.CreateDebugSubmissionInfo();
var result = ShowDiscInformationWindow(submissionInfo);
Formatter.ProcessSpecialFields(result.Item2);
_ = ShowDiscInformationWindow(ref submissionInfo);
Formatter.ProcessSpecialFields(submissionInfo);
}
/// <summary>
@@ -296,7 +296,7 @@ namespace MPF.UI.Windows
/// </summary>
/// <param name="submissionInfo">SubmissionInfo object to display and possibly change</param>
/// <returns>Dialog open result</returns>
public (bool?, SubmissionInfo?) ShowDiscInformationWindow(SubmissionInfo? submissionInfo)
public bool? ShowDiscInformationWindow(ref SubmissionInfo? submissionInfo)
{
if (MainViewModel.Options.ShowDiscEjectReminder)
CustomMessageBox.Show(this, "It is now safe to eject the disc", "Eject", MessageBoxButton.OK, MessageBoxImage.Information);
@@ -317,7 +317,7 @@ namespace MPF.UI.Windows
if (result == true)
submissionInfo = (discInformationWindow.DiscInformationViewModel.SubmissionInfo.Clone() as SubmissionInfo)!;
return (result, submissionInfo!);
return result;
}
/// <summary>