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.
PercentProgressCallback
A callback to be called by a workload to report its 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.
ServiceTaskHandler
Uses ILogger<TCategoryName>, ICredentialProvider and CancellationTokenSource from IServiceProvider if available. Executes tasks silently and suppresses any questions.
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
TaskSnapshot
Represents a progress snapshot of an ITask.
TaskState
Represents different states a (usually Web- or IO-related) task can be in.
Verbosity
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.