示例#1
0
 public async Task<EncoderStatus> Start(string arguments, CancellationTokenSourceWrapper tokenSource, Action<string> processedData)
 {
     try
     {
         EncoderStatus encoderStatus;
         await _process.Start(arguments, processedData, tokenSource.Token);
         if (_tempFileManager.ExistsEncodingFile())
         {
             encoderStatus = CreateEncoderStatus(EncoderState.Completed, String.Empty);
         }
         else
         {
             tokenSource.Cancel();
             encoderStatus = CreateEncoderStatus(EncoderState.Failed, "Output file was not created.");
         }
         return encoderStatus;
     }
     catch (OperationCanceledException ex)
     {
         tokenSource.Cancel();
         EncoderStatus encoderStatus = CreateEncoderStatus(EncoderState.Cancelled, ex.Message);
         return encoderStatus;
     }
     catch (Exception ex)
     {
         tokenSource.Cancel();
         EncoderStatus encoderStatus = CreateEncoderStatus(EncoderState.Failed, ex.Message);
         return encoderStatus;
     }
 }
示例#2
0
 public void Initialize(string resource, string taskId, CancellationTokenSourceWrapper cancellationTokenSourceWrapper)
 {
     Resource = resource;
 }
示例#3
0
 public void Start(CancellationTokenSourceWrapper tokenSource)
 {
     IsOverflowing = false;
     _tokenSource = tokenSource;
     _timer.SetCallback(Callback);
 }