protected virtual void OnCompleted(ThreadWorkerEventArgs e) { EventHandler <ThreadWorkerEventArgs> handler = Completed; if (handler != null) { handler(this, e); } }
protected virtual async Task OnWorkAsync(ThreadWorkerEventArgs e) { Func <ThreadWorkerEventArgs, Task> commandAsync = WorkAsync; if (commandAsync != null) { await commandAsync.Invoke(e); } }
protected virtual void OnPrepare(ThreadWorkerEventArgs e) { EventHandler <ThreadWorkerEventArgs> handler = Prepare; if (handler != null) { handler(this, e); } }
void WorkerCompleted(object sender, ThreadWorkerEventArgs args) { BTProgressHUD.Dismiss(); if (args.Result == FileOperationStatus.Canceled) { Failed(); return; } Succeeded(this.targetFilePath); }
private void DoWorkerCompleted(ThreadWorkerEventArgs e) { try { OnCompleting(e); } finally { CompleteWorker(e); } }
void Work(object sender, ThreadWorkerEventArgs args) { using (NSAutoreleasePool pool = new NSAutoreleasePool()) { string targetDirectory = Path.GetTempPath(); string extractedFileName = AxCryptFile.Decrypt( this.sourceFile, targetDirectory, this.key, AxCryptOptions.None, this.context); if (extractedFileName == null) { args.Result = FileOperationStatus.Canceled; return; } this.targetFilePath = Path.Combine(targetDirectory, extractedFileName); args.Result = FileOperationStatus.Success; } }
private async Task DoWorkAsync(ThreadWorkerEventArgs e) { try { await OnWorkAsync(e); } catch (OperationCanceledException) { e.Result = new FileOperationContext(string.Empty, ErrorStatus.Canceled); } catch (AxCryptException ace) { New <IReport>().Exception(ace); e.Result = new FileOperationContext(ace.DisplayContext, ace.InnerException?.Message, ace.ErrorStatus); } catch (Exception ex) { New <IReport>().Exception(ex); e.Result = new FileOperationContext(string.Empty, ex.Message, ErrorStatus.Exception); } }
private static Task ThreadWorkerCommandHandler(ThreadWorkerEventArgs e) { e.Result = new FileOperationContext(String.Empty, ErrorStatus.UnspecifiedError); return(Task.FromResult <object>(null)); }
private static void ThreadWorkerEventHandler(object sender, ThreadWorkerEventArgs e) { e.Result = new FileOperationContext(String.Empty, ErrorStatus.UnspecifiedError); }
/// <summary> /// Create a thread worker. /// </summary> public ThreadWorker(IProgressContext progress, bool startOnUIThread) { _startOnUIThread = startOnUIThread; _e = new ThreadWorkerEventArgs(new ThreadWorkerProgressContext(progress)); }
private void CompleteWorker(ThreadWorkerEventArgs e) { OnCompleted(e); Dispose(true); }
private static void ThreadWorkerEventHandler(object sender, ThreadWorkerEventArgs e) { e.Result = FileOperationStatus.UnspecifiedError; }