public ControlCenter(BatchSettings settings) { batchManagers = new List<BatchManager>(); batchSettings = settings; scanners = new List<Scanner>(); BatchManager manager = new BatchManager(batchSettings); batchManagers.Add(manager); manager.AtMaxCapacity += manager_AtMaxCapacity; manager.FileAdded += manager_FileAdded; manager.Done += manager_Done; manager.ProcessedFile += manager_ProcessedFile; }
void manager_ProcessedFile(BatchManager manager) { totalDone++; }
private void manager_Done(BatchManager manager) { totalManagersDone++; if (totalManagersDone == batchManagers.Count) { if (Done != null) Done.Invoke(this, null); } }
private void manager_FileAdded(BatchManager manager) { totalFiles++; }
private void manager_AtMaxCapacity(BatchManager manager) { BatchManager batchManager = new BatchManager(batchSettings); batchManager.AtMaxCapacity += manager_AtMaxCapacity; batchManager.FileAdded += manager_FileAdded; batchManager.Done += manager_Done; batchManager.ProcessedFile += manager_ProcessedFile; batchManagers.Add(batchManager); foreach (Scanner scanner in scanners) batchManager.WatchScanner(scanner); }