private void CabManagerOnProgress(object sender, ICabProgressionEventArgs e) { if (e.EventType == CabEventType.GlobalProgression) { OnProgress?.Invoke(this, ArchiverEventArgs.NewProgress(e.CabPath, e.RelativePathInCab, e.PercentageDone)); } }
private void ArchiverOnOnProgress(object sender, ICabProgressionEventArgs e) { switch (e.EventType) { case CabEventType.GlobalProgression: if (e.PercentageDone < 0 || e.PercentageDone > 100) { throw new Exception($"Wrong value for percentage done : {e.PercentageDone}%."); } _hasReceivedGlobalProgression = true; _cancelSource?.Cancel(); break; case CabEventType.FileProcessed: _nbFileProcessed++; break; case CabEventType.CabinetCompleted: _nbArchiveFinished++; break; default: throw new ArgumentOutOfRangeException(); } }
private static void CabManagerOnProgress(object sender, ICabProgressionEventArgs e) { switch (e.EventType) { case CabEventType.GlobalProgression: Console.WriteLine($"Global progression : {e.PercentageDone}%, current file is {e.RelativePathInCab}"); break; case CabEventType.FileProcessed: Console.WriteLine($"New file processed : {e.RelativePathInCab}"); break; case CabEventType.CabinetCompleted: Console.WriteLine($"New cabinet completed : {e.CabPath}"); break; } }