private void GetAcquiredImageAndProcessIt(AsyncProcessingMediator mediator) { var image = mediator.GetAcquiredImageAndSetImageProcessedStatus(); try { var processedImage = _imageProcessingChain.ProcessImage(image); _setOutputImageCommand.Execute(processedImage); } finally { mediator.SetImageProcessingStatus(ImageProcessingStatus.NoImageProcessed); } }
private void DoWork() { while (!_cancellationTokenSource.IsCancellationRequested) { Image image; if (!_imageProvider.TryToObtainImage(out image)) { return; } if (_cancellationTokenSource.IsCancellationRequested) { return; } image = _imageProcessingChain.ProcessImage(image); _imageOutputNotifier.Execute(image); } }