Skip to content

Commit

Permalink
-
Browse files Browse the repository at this point in the history
  • Loading branch information
MatejKafka committed Apr 7, 2024
1 parent a088f1a commit 6c09741
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,8 @@ namespace Pog.InnerCommands.Common;
/// <remarks>
/// Note that if a subclass of this invokes `ThrowTerminatingError`, it terminates the calling cmdlet immediately.
/// </remarks>
public abstract class BaseCommand {
protected readonly PogCmdlet Cmdlet;

protected BaseCommand(PogCmdlet cmdlet) {
Cmdlet = cmdlet;
}
public abstract class BaseCommand(PogCmdlet cmdlet) {
protected readonly PogCmdlet Cmdlet = cmdlet;

// forward calls to the cmdlet
protected void InvokePogCommand(VoidCommand cmd) => Cmdlet.InvokePogCommand(cmd);
Expand Down
9 changes: 3 additions & 6 deletions app/Pog/lib_compiled/Pog/src/InnerCommands/Common/Command.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,14 @@

namespace Pog.InnerCommands.Common;

public abstract class VoidCommand : BaseCommand {
protected VoidCommand(PogCmdlet cmdlet) : base(cmdlet) {}
public abstract class VoidCommand(PogCmdlet cmdlet) : BaseCommand(cmdlet) {
public abstract void Invoke();
}

public abstract class ScalarCommand<T> : BaseCommand {
protected ScalarCommand(PogCmdlet cmdlet) : base(cmdlet) {}
public abstract class ScalarCommand<T>(PogCmdlet cmdlet) : BaseCommand(cmdlet) {
public abstract T Invoke();
}

public abstract class EnumerableCommand<T> : BaseCommand {
protected EnumerableCommand(PogCmdlet cmdlet) : base(cmdlet) {}
public abstract class EnumerableCommand<T>(PogCmdlet cmdlet) : BaseCommand(cmdlet) {
public abstract IEnumerable<T> Invoke();
}
4 changes: 1 addition & 3 deletions app/Pog/lib_compiled/Pog/src/InnerCommands/DisablePog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@

namespace Pog.InnerCommands;

public class DisablePog : VoidCommand {
public class DisablePog(PogCmdlet cmdlet) : VoidCommand(cmdlet) {
[Parameter(Mandatory = true)] public ImportedPackage Package = null!;

public DisablePog(PogCmdlet cmdlet) : base(cmdlet) {}

public override void Invoke() {
Debug.Assert(Package.ManifestLoaded);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace Pog.InnerCommands;

public sealed class ExpandArchive7Zip : VoidCommand, IDisposable {
public sealed class ExpandArchive7Zip(PogCmdlet cmdlet) : VoidCommand(cmdlet), IDisposable {
[Parameter(Mandatory = true)] public string ArchivePath = null!;
[Parameter(Mandatory = true)] public string TargetPath = null!;
[Parameter] public string? RawTargetPath;
Expand All @@ -32,8 +32,6 @@ public sealed class ExpandArchive7Zip : VoidCommand, IDisposable {
// e.g. ' 34% 10 - glib-2.dll'
private static readonly Regex ProgressPrintRegex = new(@"^\s*(\d{1,3})%\s+\S+.*$", RegexOptions.Compiled);

public ExpandArchive7Zip(PogCmdlet cmdlet) : base(cmdlet) {}

public override void Invoke() {
RawTargetPath ??= TargetPath;
_filterPatterns = Filter?.Select(p => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Pog.InnerCommands;

public class Failed7ZipHashCalculationException(string message) : Exception(message);

public sealed class GetFileHash7Zip : ScalarCommand<string>, IDisposable {
public sealed class GetFileHash7Zip(PogCmdlet cmdlet) : ScalarCommand<string>(cmdlet), IDisposable {
[Parameter(Mandatory = true)] public string Path = null!;
[Parameter] public HashAlgorithm Algorithm = default;

Expand All @@ -32,8 +32,6 @@ public sealed class GetFileHash7Zip : ScalarCommand<string>, IDisposable {
// e.g. '466d43edd41763e4c9f03e6ac79fe9bea1ad6e5afa32779884ae50216aa22ae4 1067143478 CLion-2022.2.4.win.zip'
private static readonly Regex HashPrintRegex = new(@"^([0-9a-fA-F]+) .*$");

public GetFileHash7Zip(PogCmdlet cmdlet) : base(cmdlet) {}

private static string QuoteArgument(string arg) {
return "\"" + arg.Replace("\"", "\\\"") + "\"";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,14 @@

namespace Pog.InnerCommands;

internal sealed class InvokeFileDownload : ScalarCommand<string>, IDisposable {
internal sealed class InvokeFileDownload(PogCmdlet cmdlet) : ScalarCommand<string>(cmdlet), IDisposable {
[Parameter(Mandatory = true)] public string SourceUrl = null!;
[Parameter(Mandatory = true)] public string DestinationDirPath = null!;
[Parameter(Mandatory = true)] public DownloadParameters DownloadParameters = null!;
[Parameter] public CmdletProgressBar.ProgressActivity ProgressActivity = new();

private readonly CancellationTokenSource _stopping = new();

public InvokeFileDownload(PogCmdlet cmdlet) : base(cmdlet) {}

public void Dispose() {
_stopping.Dispose();
}
Expand Down

0 comments on commit 6c09741

Please sign in to comment.