private void OnActivationProgressChanged(FileCopyProgressChangedEventArgs e) { if (ActivationProgressChanged != null) { ActivationProgressChanged(this, e); } }
private void fileCopyer_FileCopyProgressChanged(object sender, FileCopyProgressChangedEventArgs e) { if (ActivationProgressChanged != null) { ActivationProgressChanged(sender, e); } }
protected void OnProgressChanged(FileCopyProgressChangedEventArgs e) { if (FileCopyProgressChanged != null) { FileCopyProgressChanged(this, e); } }
private void ReportProgress(object state) { FileCopyProgressChangedEventArgs e = state as FileCopyProgressChangedEventArgs; OnProgressChanged(e); }
private void FileCopyWorker(Manifest manifest, string sourcePath, AsyncOperation asyncOp) { Exception exception = null; FileCopyProgressChangedEventArgs e = null; Stream rStream = null; Stream wStream = null; double writeBytes = 0; string[] sourceFiles = null; string[] targetFiles = null; GetFiles(manifest, sourcePath, out sourceFiles, out targetFiles); if (!TaskCanceled(asyncOp.UserSuppliedState)) { try { double totalBytes = GetFileLength(sourceFiles); byte[] buffer = new byte[writeFileLength]; int len = 0; int offset = 0; for (int i = 0; i < sourceFiles.Length; i++) { try { if (!Directory.Exists(Path.GetDirectoryName(targetFiles[i]))) { Directory.CreateDirectory(Path.GetDirectoryName(targetFiles[i])); } rStream = new FileStream(sourceFiles[i], FileMode.Open, FileAccess.Read, FileShare.None); wStream = new FileStream(targetFiles[i], FileMode.Create, FileAccess.Write, FileShare.None); while ((len = rStream.Read(buffer, offset, writeFileLength)) > 0) { wStream.Write(buffer, offset, len); writeBytes += len; e = new FileCopyProgressChangedEventArgs((int)(writeBytes / totalBytes * 100), asyncOp.UserSuppliedState); e.SourceFileName = sourceFiles[i]; e.TargetFileName = targetFiles[i]; e.TotalBytesToCopy = totalBytes; e.BytesToCopy = len; e.Manifest = manifest; asyncOp.Post(this.onProgressReportDelegate, e); Thread.Sleep(1); } } finally { DisposeStream(wStream); DisposeStream(rStream); } } } catch (Exception ex) { exception = ex; OnFileCopyError(new FileCopyErrorEventArgs() { Error = ex, Manifest = manifest }); } } this.CompletionMethod(manifest, exception, TaskCanceled(asyncOp.UserSuppliedState), asyncOp); }