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.
- 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.
Delegates
- PercentProgressCallback
A callback to be called by a workload to report its progress in percent.