public void ExtractAndMerge(string outputPath, IExtractProgress progress) { foreach (var child in Children) { if (progress.CancellationToken.IsCancellationRequested) { break; } child.Extract(outputPath, progress); } }
public override void Extract(string outputPath, IExtractProgress progress) { foreach (var child in Children) { if (progress.CancellationToken.IsCancellationRequested) { break; } child.Extract(Path.Combine(outputPath, ShortName), progress); } }
public override void Extract(string outputPath, IExtractProgress progress) { var childOutputPath = Path.Combine(outputPath, Name); Directory.CreateDirectory(childOutputPath); foreach (var child in Children) { if (progress.CancellationToken.IsCancellationRequested) { break; } progress.SetExtractedName(childOutputPath); child.Extract(childOutputPath, progress); } }
public void ExtractAndMerge(string outputPath, IExtractProgress progress) { foreach (var child in Children) { if (progress.CancellationToken.IsCancellationRequested) { break; } var childOutputPath = Path.Combine(outputPath, ShortName); if (child is IdxViewModel idxVm) { idxVm.ExtractAndMerge(childOutputPath, progress); } else { child.Extract(childOutputPath, progress); } } }
public abstract void Extract(string outputPath, IExtractProgress progress);