ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::cli::CommandDecl Class Reference

Description:

A declaration for a cli::Command.

Construction is done by passing a custom enum element of an enum type equipped with ALib Enum Records of type ERCommandDecl.

When bootstrapping ALib CLI, method CommandLine::DefineCommands has to be invoked for (each) enum type.

Definition at line 453 of file arguments.inl.

Collaboration diagram for alib::cli::CommandDecl:
[legend]

Public Field Index:

CommandLineCmdLine
 The command line instance we belong to.
 
List< MonoAllocator, ParameterDecl * > Parameters
 Command parameters.
 

Public Method Index:

template<typename TEnum>
 CommandDecl (TEnum element, CommandLine &cmdLine)
 
const EnumElement () const
 
ALIB_DLL ParameterDeclGetParameterDecl (const String &name)
 
const StringHelpTextLong ()
 
const StringHelpTextShort ()
 
const StringIdentifier ()
 
int MinimumRecognitionLength ()
 

Protected Field Index:

Enum declElement
 The enumeration element given with construction.
 
ERCommandDecl record
 A copy (!) of the enum record.
 
ResourceInfo resourceInfo
 The resource information of the enumeration type given with construction.
 

Protected Method Index:

ALIB_DLL void addParamDecls ()
 

Field Details:

◆ CmdLine

CommandLine& alib::cli::CommandDecl::CmdLine

The command line instance we belong to.

Definition at line 467 of file arguments.inl.

◆ declElement

Enum alib::cli::CommandDecl::declElement
protected

The enumeration element given with construction.

Definition at line 457 of file arguments.inl.

◆ Parameters

List<MonoAllocator, ParameterDecl*> alib::cli::CommandDecl::Parameters

Command parameters.

Definition at line 470 of file arguments.inl.

◆ record

ERCommandDecl alib::cli::CommandDecl::record
protected

A copy (!) of the enum record.

Definition at line 460 of file arguments.inl.

◆ resourceInfo

ResourceInfo alib::cli::CommandDecl::resourceInfo
protected

The resource information of the enumeration type given with construction.

Definition at line 463 of file arguments.inl.

Constructor(s) / Destructor Details:

◆ CommandDecl()

template<typename TEnum>
alib::cli::CommandDecl::CommandDecl ( TEnum element,
CommandLine & cmdLine )
inline

Templated constructor which takes an enum element of a custom type equipped with ALib Enum Records of type ERCommandDecl.

Field Parameters is filled as specified in the enum record.

Template Parameters
TEnumC++ enum type equipped with corresponding ALib Enum Records.
Parameters
elementThe enum element
cmdLineThe command line object. Will be stored.

Definition at line 522 of file commandline.inl.

Here is the call graph for this function:

Method Details:

◆ addParamDecls()

void alib::cli::CommandDecl::addParamDecls ( )
protected

Called from the constructor. Parses field ERCommandDecl::parameters of the enum record, and loads the corresponding parameters.

Definition at line 38 of file arguments.cpp.

Here is the call graph for this function:

◆ Element()

const Enum & alib::cli::CommandDecl::Element ( ) const
inline

Returns the type and integral value of the enumeration element used with construction.

Returns
The enumeration element used with construction.

Definition at line 486 of file arguments.inl.

◆ GetParameterDecl()

ParameterDecl * alib::cli::CommandDecl::GetParameterDecl ( const String & name)

Searches in Parameters for the declaration of parameter name.

Parameters
nameThe declaration name of the parameter.
Returns
A pointer to the parameter's declaration, nullptr if parameter was not declared.

Definition at line 59 of file arguments.cpp.

◆ HelpTextLong()

const String & alib::cli::CommandDecl::HelpTextLong ( )
inline

Returns the long version of the help text. Loads the string from resourceInfo using resource name "THlpCmdLngNN", where NN is the enum element's integral value.

Returns
The help text.

Definition at line 518 of file arguments.inl.

Here is the call graph for this function:

◆ HelpTextShort()

const String & alib::cli::CommandDecl::HelpTextShort ( )
inline

Returns the short version of the help text. Loads the string from resourceInfo using resource name "THlpCmdShtNN", where NN is the enum element's integral value.

Returns
The help text.

Definition at line 509 of file arguments.inl.

Here is the call graph for this function:

◆ Identifier()

const String & alib::cli::CommandDecl::Identifier ( )
inline

Returns the identifier (name) of the command

Returns
The command identifier.

Definition at line 493 of file arguments.inl.

◆ MinimumRecognitionLength()

int alib::cli::CommandDecl::MinimumRecognitionLength ( )
inline

Returns the minimum parse length of the identifier.

Returns
The minimum characters to satisfy the command to be parsed.

Definition at line 500 of file arguments.inl.


The documentation for this class was generated from the following files: