2 using System.Collections.Generic;
\r
4 using System.Threading;
\r
5 using System.Threading.Tasks;
\r
7 namespace CompleteEraser
\r
9 class ShrredFiles : IOperation
\r
11 public event ProgressingEventHandler Progressing;
\r
12 public event ProgressedEventHandler Progressed;
\r
13 public event EventHandler Complete;
\r
15 public async void ExecuteAsync(IEnumerable<string> files, CancellationToken cancelToken)
\r
17 foreach (string file in files)
\r
19 Progressing(this, new ProgressingEventArgs(file));
\r
22 ProgressedEventArgs e = new ProgressedEventArgs(file, null);
\r
26 await Task.Factory.StartNew(() =>
\r
28 FileBreaker.BreakFileOrFolder(file);
\r
31 catch (OperationCanceledException)
\r
35 catch (UnauthorizedAccessException uae)
\r
39 catch (IOException ie)
\r
43 Progressed(this, e);
\r
49 this.Complete(this, null);
\r