Class AnsiCliTaskHandler
Informs the user about the progress of tasks and ask questions using ANSI console output.
Implements
Inherited Members
Namespace: NanoByte.Common.Tasks
Assembly: NanoByte.Common.AnsiCli.dll
Syntax
public class AnsiCliTaskHandler : CliTaskHandler, ITaskHandler
Remarks
This class is thread-safe.
Constructors
AnsiCliTaskHandler()
Declaration
public AnsiCliTaskHandler()
Properties
CredentialProvider
Used to ask the user or a keyring for NetworkCredentials for specific Uris; can be null
.
Declaration
protected override ICredentialProvider CredentialProvider { get; }
Property Value
Type | Description |
---|---|
ICredentialProvider |
Overrides
IsInteractive
Indicates whether the user can provide input.
Declaration
protected override bool IsInteractive { get; }
Property Value
Type | Description |
---|---|
Boolean |
Overrides
Methods
AskInteractive(String, Boolean)
Asks the user a Yes/No/Cancel question.
Declaration
protected override bool AskInteractive(string question, bool defaultAnswer)
Parameters
Type | Name | Description |
---|---|---|
String | question | The question and comprehensive information to help the user make an informed decision. |
Boolean | defaultAnswer | The default answer to preselect. |
Returns
Type | Description |
---|---|
Boolean |
|
Overrides
Exceptions
Type | Condition |
---|---|
System.OperationCanceledException | Throw if the user answered with 'Cancel'. |
DisplayLogEntry(LogSeverity, String)
Declaration
protected override void DisplayLogEntry(LogSeverity severity, string message)
Parameters
Type | Name | Description |
---|---|---|
LogSeverity | severity | |
String | message |
Overrides
Dispose()
Unregisters the Handler and the CancelKeyPress handler.
Declaration
public override void Dispose()
Overrides
Error(Exception)
Displays an error message to the user.
Declaration
public override void Error(Exception exception)
Parameters
Type | Name | Description |
---|---|---|
Exception | exception | The exception representing the error that occurred. |
Overrides
Output(String, String)
Displays multi-line text to the user.
Declaration
public override void Output(string title, string message)
Parameters
Type | Name | Description |
---|---|---|
String | title | A title for the message. |
String | message | The string to display. Trailing linebreaks are appropriately handled or ignored. |
Overrides
Remarks
Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.
Output<T>(String, NamedCollection<T>)
Displays tree-like data to the user.
Declaration
public override void Output<T>(string title, NamedCollection<T> data)
where T : INamed
Parameters
Type | Name | Description |
---|---|---|
String | title | A title for the data.INamed |
NamedCollection<T> | data | The data to display. |
Type Parameters
Name | Description |
---|---|
T |
Overrides
Remarks
Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.
Output<T>(String, IEnumerable<T>)
Displays tabular data to the user.
Declaration
public override void Output<T>(string title, IEnumerable<T> data)
Parameters
Type | Name | Description |
---|---|---|
String | title | A title for the data. |
IEnumerable<T> | data | The data to display. |
Type Parameters
Name | Description |
---|---|
T |
Overrides
Remarks
Implementations may close the UI as a side effect. Therefore this should be your last call on the handler.
RunTask(ITask)
Runs an ITask and tracks its progress. Returns once the task has been completed.
Declaration
public override void RunTask(ITask task)
Parameters
Type | Name | Description |
---|---|---|
ITask | task | The task to be run. (Run(CancellationToken, ICredentialProvider, IProgress<TaskSnapshot>) or equivalent is called on it.) |
Overrides
Exceptions
Type | Condition |
---|---|
System.OperationCanceledException | The user canceled the task. |
IOException | The task ended with IOError. |
WebException | The task ended with WebError. |