Пример #1
0
        protected virtual void OnCompleted(ThreadWorkerEventArgs e)
        {
            EventHandler <ThreadWorkerEventArgs> handler = Completed;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Пример #2
0
        protected virtual async Task OnWorkAsync(ThreadWorkerEventArgs e)
        {
            Func <ThreadWorkerEventArgs, Task> commandAsync = WorkAsync;

            if (commandAsync != null)
            {
                await commandAsync.Invoke(e);
            }
        }
Пример #3
0
        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);
        }
Пример #5
0
 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;
            }
        }
Пример #7
0
 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);
     }
 }
Пример #8
0
 private static Task ThreadWorkerCommandHandler(ThreadWorkerEventArgs e)
 {
     e.Result = new FileOperationContext(String.Empty, ErrorStatus.UnspecifiedError);
     return(Task.FromResult <object>(null));
 }
Пример #9
0
 private static void ThreadWorkerEventHandler(object sender, ThreadWorkerEventArgs e)
 {
     e.Result = new FileOperationContext(String.Empty, ErrorStatus.UnspecifiedError);
 }
Пример #10
0
        /// <summary>
        /// Create a thread worker.
        /// </summary>
        public ThreadWorker(IProgressContext progress, bool startOnUIThread)
        {
            _startOnUIThread = startOnUIThread;

            _e = new ThreadWorkerEventArgs(new ThreadWorkerProgressContext(progress));
        }
Пример #11
0
 private void CompleteWorker(ThreadWorkerEventArgs e)
 {
     OnCompleted(e);
     Dispose(true);
 }
Пример #12
0
 private static void ThreadWorkerEventHandler(object sender, ThreadWorkerEventArgs e)
 {
     e.Result = FileOperationStatus.UnspecifiedError;
 }