Enable nullability in Check

This commit is contained in:
Matt Nadareski
2023-10-10 23:22:21 -04:00
parent 81742a4676
commit 791e2d0272
11 changed files with 73 additions and 8 deletions

View File

@@ -7,6 +7,7 @@
- Add generic drive flag for Redumper
- Handle numeric disc titles as issue numbers
- Unify handling of enable/disable events
- Enable nullability in Check
### 2.7.0 (2023-10-11)

View File

@@ -11,6 +11,10 @@
<VersionPrefix>2.7.0</VersionPrefix>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'!='net48'">
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>

View File

@@ -21,7 +21,7 @@ namespace MPF.Check
}
// Try processing the common arguments
(bool success, MediaType mediaType, RedumpSystem? knownSystem, string error) = OptionsLoader.ProcessCommonArguments(args);
(bool success, MediaType mediaType, RedumpSystem? knownSystem, var error) = OptionsLoader.ProcessCommonArguments(args);
if (!success)
{
DisplayHelp(error);
@@ -29,11 +29,7 @@ namespace MPF.Check
}
// Loop through and process options
#if NET48
(Core.Data.Options options, SubmissionInfo seedInfo, string path, int startIndex) = OptionsLoader.LoadFromArguments(args, startIndex: 2);
#else
(Core.Data.Options options, SubmissionInfo? seedInfo, string? path, int startIndex) = OptionsLoader.LoadFromArguments(args, startIndex: 2);
#endif
(var options, var seedInfo, var path, int startIndex) = OptionsLoader.LoadFromArguments(args, startIndex: 2);
if (options.InternalProgram == InternalProgram.NONE)
{
DisplayHelp("A program name needs to be provided");
@@ -50,7 +46,7 @@ namespace MPF.Check
#if NET48
(bool? _, string message) = RedumpWebClient.ValidateCredentials(options?.RedumpUsername, options?.RedumpPassword);
#else
(bool? _, string message) = RedumpHttpClient.ValidateCredentials(options?.RedumpUsername, options?.RedumpPassword).ConfigureAwait(false).GetAwaiter().GetResult();
(bool? _, string? message) = RedumpHttpClient.ValidateCredentials(options.RedumpUsername ?? string.Empty, options.RedumpPassword ?? string.Empty).ConfigureAwait(false).GetAwaiter().GetResult();
#endif
if (!string.IsNullOrWhiteSpace(message))
Console.WriteLine(message);
@@ -69,7 +65,11 @@ namespace MPF.Check
string filepath = Path.GetFullPath(args[i].Trim('"'));
// Now populate an environment
#if NET48
Drive drive = null;
#else
Drive? drive = null;
#endif
if (!string.IsNullOrWhiteSpace(path))
drive = Drive.Create(null, path);
@@ -85,7 +85,11 @@ namespace MPF.Check
/// Display help for MPF.Check
/// </summary>
/// <param name="error">Error string to prefix the help text with</param>
#if NET48
private static void DisplayHelp(string error = null)
#else
private static void DisplayHelp(string? error = null)
#endif
{
if (error != null)
Console.WriteLine(error);

View File

@@ -9,7 +9,11 @@ namespace MPF.Core
/// <summary>
/// Simple process counter to write to console
/// </summary>
#if NET48
public static void ProgressUpdated(object sender, Result value)
#else
public static void ProgressUpdated(object? sender, Result value)
#endif
{
Console.WriteLine(value.Message);
}
@@ -17,7 +21,11 @@ namespace MPF.Core
/// <summary>
/// Simple process counter to write to console
/// </summary>
#if NET48
public static void ProgressUpdated(object sender, ProtectionProgress value)
#else
public static void ProgressUpdated(object? sender, ProtectionProgress value)
#endif
{
Console.WriteLine($"{value.Percentage * 100:N2}%: {value.Filename} - {value.Protection}");
}

View File

@@ -123,7 +123,11 @@ namespace MPF.Core
RedumpSystem? system,
MediaType? type,
InternalProgram? internalProgram,
#if NET48
string parameters)
#else
string? parameters)
#endif
{
// Set options object
this.Options = options;
@@ -194,7 +198,11 @@ namespace MPF.Core
/// Set the parameters object based on the internal program and parameters string
/// </summary>
/// <param name="parameters">String representation of the parameters</param>
#if NET48
public void SetParameters(string parameters)
#else
public void SetParameters(string? parameters)
#endif
{
switch (this.InternalProgram)
{
@@ -284,7 +292,7 @@ namespace MPF.Core
return null;
}
#endregion
#endregion
#region Dumping

View File

@@ -256,7 +256,11 @@ namespace MPF.Core.Modules.Aaru
#endregion
/// <inheritdoc/>
#if NET48
public Parameters(string parameters) : base(parameters) { }
#else
public Parameters(string? parameters) : base(parameters) { }
#endif
/// <inheritdoc/>
public Parameters(RedumpSystem? system, MediaType? type, char driveLetter, string filename, int? driveSpeed, Options options)
@@ -1814,7 +1818,11 @@ namespace MPF.Core.Modules.Aaru
}
/// <inheritdoc/>
#if NET48
protected override bool ValidateAndSetParameters(string parameters)
#else
protected override bool ValidateAndSetParameters(string? parameters)
#endif
{
BaseCommand = CommandStrings.NONE;

View File

@@ -148,7 +148,11 @@ namespace MPF.Core.Modules
/// Populate a Parameters object from a param string
/// </summary>
/// <param name="parameters">String possibly representing a set of parameters</param>
#if NET48
public BaseParameters(string parameters)
#else
public BaseParameters(string? parameters)
#endif
{
// If any parameters are not valid, wipe out everything
if (!ValidateAndSetParameters(parameters))
@@ -290,7 +294,11 @@ namespace MPF.Core.Modules
/// </summary>
/// <param name="parameters">String possibly representing parameters</param>
/// <returns>True if the parameters were set correctly, false otherwise</returns>
#if NET48
protected virtual bool ValidateAndSetParameters(string parameters) => !string.IsNullOrWhiteSpace(parameters);
#else
protected virtual bool ValidateAndSetParameters(string? parameters) => !string.IsNullOrWhiteSpace(parameters);
#endif
#endregion

View File

@@ -22,7 +22,11 @@ namespace MPF.Core.Modules.CleanRip
#endregion
/// <inheritdoc/>
#if NET48
public Parameters(string parameters) : base(parameters) { }
#else
public Parameters(string? parameters) : base(parameters) { }
#endif
/// <inheritdoc/>
public Parameters(RedumpSystem? system, MediaType? type, char driveLetter, string filename, int? driveSpeed, Options options)

View File

@@ -187,7 +187,11 @@ namespace MPF.Core.Modules.DiscImageCreator
#endregion
/// <inheritdoc/>
#if NET48
public Parameters(string parameters) : base(parameters) { }
#else
public Parameters(string? parameters) : base(parameters) { }
#endif
/// <inheritdoc/>
public Parameters(RedumpSystem? system, MediaType? type, char driveLetter, string filename, int? driveSpeed, Options options)
@@ -2074,7 +2078,11 @@ namespace MPF.Core.Modules.DiscImageCreator
}
/// <inheritdoc/>
#if NET48
protected override bool ValidateAndSetParameters(string parameters)
#else
protected override bool ValidateAndSetParameters(string? parameters)
#endif
{
BaseCommand = CommandStrings.NONE;

View File

@@ -209,7 +209,11 @@ namespace MPF.Core.Modules.Redumper
#endregion
/// <inheritdoc/>
#if NET48
public Parameters(string parameters) : base(parameters) { }
#else
public Parameters(string? parameters) : base(parameters) { }
#endif
/// <inheritdoc/>
public Parameters(RedumpSystem? system, MediaType? type, char driveLetter, string filename, int? driveSpeed, Options options)
@@ -1060,7 +1064,11 @@ namespace MPF.Core.Modules.Redumper
}
/// <inheritdoc/>
#if NET48
protected override bool ValidateAndSetParameters(string parameters)
#else
protected override bool ValidateAndSetParameters(string? parameters)
#endif
{
BaseCommand = CommandStrings.NONE;

View File

@@ -21,7 +21,11 @@ namespace MPF.Core.Modules.UmdImageCreator
#endregion
/// <inheritdoc/>
#if NET48
public Parameters(string parameters) : base(parameters) { }
#else
public Parameters(string? parameters) : base(parameters) { }
#endif
/// <inheritdoc/>
public Parameters(RedumpSystem? system, MediaType? type, char driveLetter, string filename, int? driveSpeed, Options options)