public ExtractionProgress(AsyncCallback progressCallback, int totalFileCount) { _activity = ExtractionActivity.Initializing; _currentFileName = ""; _callback = progressCallback; _waitSignal = new ManualResetEvent(false); _totalFileCount = totalFileCount; _filesExtracted = 0; }
internal void ReportProgress(ExtractionActivity activity, string currentFileName, int filesExtractedSoFar) { lock (this) { _activity = activity; _currentFileName = currentFileName; _filesExtracted = filesExtractedSoFar; if (this.IsCompleted) _waitSignal.Set(); if (_callback != null) _callback(this); } }
internal void ReportProgress(ExtractionActivity activity, string currentFileName, int filesExtractedSoFar) { lock (this) { _activity = activity; _currentFileName = currentFileName; _filesExtracted = filesExtractedSoFar; if (this.IsCompleted) { _waitSignal.Set(); } if (_callback != null) { _callback(this); } } }