Table of Contents

Namespace NanoByte.Common.Tasks

Task system for managing long-running tasks and reporting progress to the user.

Classes

ActionTask

A task that executes an Action. Only completion is reported, no intermediate progress.

AnsiCliProgress

Reports task progress updates using ANSI console output.

AnsiCliProgressContext

Container for one or more ANSI console progress bars.

AnsiCliTaskHandler

Informs the user about the progress of tasks and ask questions using ANSI console output.

CliProgress

Reports task progress updates using console output.

CliTaskHandler

Informs the user about the progress of tasks and ask questions using console output.

DeferredProgress<T>

Remembers the latest call made to Report(T). Forwards that call (if any) and all future calls to a target IProgress<T> implementation once it is set.

DialogTaskHandler

Uses simple WinForms dialog boxes to inform the user about the progress of tasks.

ForEachTask

Provides a static factory method for ForEachTask<T> as an alternative to calling the constructor to exploit type inference.

ForEachTask<T>

A task that executes an action once for each element of a collection.

GuiTaskHandlerBase

Common base class for WinForms ITaskHandler implementations.

PercentageTask

A task that executes an Action<T> and reports progress in percent.

ResultTask

Provides a static factory method for ResultTask<T> as an alternative to calling the constructor to exploit type inference.

ResultTask<T>

A task that executes a callback and the provides a result. Only completion is reported, no intermediate progress.

SilentTaskHandler

Executes tasks silently and suppresses any questions.

TaskBase

Abstract base class for ITask implementations.

TaskHandlerBase

Common base class for ITaskHandler implementations.

TaskHandlerExtensions

Extension methods for ITaskHandler

Structs

TaskSnapshot

Represents a progress snapshot of an ITask.

Interfaces

IResultTask<T>

A task the provides a result.

ITask

Represents an operation that can be cancelled and have its progress tracked.

ITaskHandler

Used to run and track ITasks and ask the user questions. Specific implementations provide different kinds of user interfaces.

Enums

TaskState

Represents different states a (usually Web- or IO-related) task can be in.

Verbosity

Delegates

PercentProgressCallback

A callback to be called by a workload to report its progress in percent.