Hermod
A cross-platform, modular and fully GDPR-compliant email archival solution!
Loading...
Searching...
No Matches
Hermod.Core.Commands.ICommand< T > Interface Template Reference

Specialised variation of ICommand with generic typing. More...

Inheritance diagram for Hermod.Core.Commands.ICommand< T >:
Hermod.Core.Commands.TerminalCommand

Public Member Functions

ICommandResult Execute (params string[] args)
 Executes the command and returns a genericised variation of the ICommandResult<T>, namely ICommandResult.
 
Task< ICommandResultExecuteAsync (params string[] args)
 Asynchronous variation of Execute(string[]).
 
new ICommand< T > Execute (params string[] args)
 Overrides the default implementation of ICommand with a generic type approach.
 
new Task< ICommandResult< T > > ExecuteAsync (params string[] args)
 Asynchronous variation of Execute(string[]).
 

Properties

string Name [get]
 The (callable) name for the command.
 
string ShortDescription [get]
 A short description of the command and its function.
 
string? LongDescription [get]
 A detailled description of the command and its function.
 
Option[] CommandOptions [get]
 A list of options applicable to this command.
 

Detailed Description

Specialised variation of ICommand with generic typing.

Template Parameters
T

Definition at line 49 of file ICommand.cs.

Member Function Documentation

◆ Execute() [1/2]

ICommandResult Hermod.Core.Commands.ICommand< T >.Execute ( params string[]  args)

Executes the command and returns a genericised variation of the ICommandResult<T>, namely ICommandResult.

Implemented in Hermod.Core.Commands.TerminalCommand.

◆ Execute() [2/2]

new ICommand< T > Hermod.Core.Commands.ICommand< T >.Execute ( params string[]  args)

Overrides the default implementation of ICommand with a generic type approach.

Parameters
argsThe arguments to be passed to the command.
Returns
The result of the command after execution.

Implemented in Hermod.Core.Commands.TerminalCommand.

◆ ExecuteAsync() [1/2]

Task< ICommandResult > Hermod.Core.Commands.ICommand< T >.ExecuteAsync ( params string[]  args)

Asynchronous variation of Execute(string[]).

Parameters
argsThe arguments to be passed to the command.
Returns
An awaitable ICommandResult.

Implemented in Hermod.Core.Commands.TerminalCommand.

◆ ExecuteAsync() [2/2]

new Task< ICommandResult< T > > Hermod.Core.Commands.ICommand< T >.ExecuteAsync ( params string[]  args)

Asynchronous variation of Execute(string[]).

Parameters
argsThe arguments to be passed to the command.
Returns
An awaitable ICommandResult.

Implemented in Hermod.Core.Commands.TerminalCommand.

Property Documentation

◆ CommandOptions

Option [] Hermod.Core.Commands.ICommand< T >.CommandOptions
get

A list of options applicable to this command.

Implemented in Hermod.Core.Commands.TerminalCommand.

Definition at line 29 of file ICommand.cs.

29{ get; }

◆ LongDescription

string? Hermod.Core.Commands.ICommand< T >.LongDescription
get

A detailled description of the command and its function.

Implemented in Hermod.Core.Commands.TerminalCommand.

Definition at line 24 of file ICommand.cs.

24{ get; }

◆ Name

string Hermod.Core.Commands.ICommand< T >.Name
get

The (callable) name for the command.

Implemented in Hermod.Core.Commands.TerminalCommand.

Definition at line 14 of file ICommand.cs.

14{ get; }

Referenced by Hermod.Hermod.TryGetCommand().

◆ ShortDescription

string Hermod.Core.Commands.ICommand< T >.ShortDescription
get

A short description of the command and its function.

Implemented in Hermod.Core.Commands.TerminalCommand.

Definition at line 19 of file ICommand.cs.

19{ get; }

The documentation for this interface was generated from the following file: