CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::serial::CommandRegistry Class Reference
Inheritance diagram for cdc::serial::CommandRegistry:
cdc::serial::ICommandRegistry

Public Member Functions

void setAuthProvider (bool(*authCheck)()) override
 Sets external authentication status provider.
bool registerCommand (const Command &cmd) override
 Registers a command in the dispatch table.
void unregisterModule (const char *moduleName) override
 Unregisters all commands belonging to one module.
void setLineInterceptor (LineInterceptor interceptor) override
 Sets optional line interceptor for multiline modes.
void setByteInterceptor (ByteInterceptor interceptor) override
ByteInterceptor getByteInterceptor () const override
bool processCommand (const char *line) override
 Parses and executes one command line.
void showHelp () override
 Prints grouped help for all registered commands.
size_t getCommandCount () const override
 Returns count of currently registered commands.
void setOnCommandExecuted (void(*callback)()) override
 Sets callback fired after successful command execution.
Public Member Functions inherited from cdc::serial::ICommandRegistry
virtual ~ICommandRegistry ()=default

Additional Inherited Members

Public Types inherited from cdc::serial::ICommandRegistry
using LineInterceptor = bool (*)(const char* line)
using ByteInterceptor = void (*)(uint8_t byte)

Detailed Description

Definition at line 24 of file CommandRegistry.cpp.

Member Function Documentation

◆ getByteInterceptor()

ByteInterceptor cdc::serial::CommandRegistry::getByteInterceptor ( ) const
inlineoverridevirtual

Reimplemented from cdc::serial::ICommandRegistry.

Definition at line 95 of file CommandRegistry.cpp.

◆ getCommandCount()

size_t cdc::serial::CommandRegistry::getCommandCount ( ) const
inlineoverridevirtual

Returns count of currently registered commands.

Returns
Number of registered commands.

Implements cdc::serial::ICommandRegistry.

Definition at line 219 of file CommandRegistry.cpp.

◆ processCommand()

bool cdc::serial::CommandRegistry::processCommand ( const char * line)
inlineoverridevirtual

Parses and executes one command line.

Parameters
lineRaw command line.
Returns
true if line was handled by registry/interceptor.

Implements cdc::serial::ICommandRegistry.

Definition at line 104 of file CommandRegistry.cpp.

References cdc::core::PinManager::instance(), name, and cdc::serial::Console::printf().

◆ registerCommand()

bool cdc::serial::CommandRegistry::registerCommand ( const Command & cmd)
inlineoverridevirtual

Registers a command in the dispatch table.

Parameters
Plugin command channelCommand descriptor.
Returns
true if registration succeeded.

Implements cdc::serial::ICommandRegistry.

Definition at line 40 of file CommandRegistry.cpp.

References LOG_I, LOG_W, cdc::serial::MAX_COMMANDS, cdc::serial::Command::moduleName, cdc::serial::Command::name, name, and TAG.

◆ setAuthProvider()

void cdc::serial::CommandRegistry::setAuthProvider ( bool(* authCheck )())
inlineoverridevirtual

Sets external authentication status provider.

Parameters
authCheckCallback returning current authentication state.
Returns
void

Implements cdc::serial::ICommandRegistry.

Definition at line 31 of file CommandRegistry.cpp.

◆ setByteInterceptor()

void cdc::serial::CommandRegistry::setByteInterceptor ( ByteInterceptor interceptor)
inlineoverridevirtual

Set or clear the byte interceptor. While set, line-based parsing is fully bypassed.

Reimplemented from cdc::serial::ICommandRegistry.

Definition at line 91 of file CommandRegistry.cpp.

◆ setLineInterceptor()

void cdc::serial::CommandRegistry::setLineInterceptor ( LineInterceptor interceptor)
inlineoverridevirtual

Sets optional line interceptor for multiline modes.

Parameters
interceptorInterceptor callback.
Returns
void

Reimplemented from cdc::serial::ICommandRegistry.

Definition at line 87 of file CommandRegistry.cpp.

◆ setOnCommandExecuted()

void cdc::serial::CommandRegistry::setOnCommandExecuted ( void(* callback )())
inlineoverridevirtual

Sets callback fired after successful command execution.

Parameters
callbackCompletion callback.
Returns
void

Implements cdc::serial::ICommandRegistry.

Definition at line 228 of file CommandRegistry.cpp.

◆ showHelp()

void cdc::serial::CommandRegistry::showHelp ( )
inlineoverridevirtual

Prints grouped help for all registered commands.

Returns
void

Implements cdc::serial::ICommandRegistry.

Definition at line 180 of file CommandRegistry.cpp.

References cdc::serial::Console::flush(), cdc::serial::kSubCommandHeadBufSize, cdc::serial::SubCommand::name, name, and cdc::serial::Console::printf().

◆ unregisterModule()

void cdc::serial::CommandRegistry::unregisterModule ( const char * moduleName)
inlineoverridevirtual

Unregisters all commands belonging to one module.

Parameters
moduleNameModule name key.
Returns
void

Implements cdc::serial::ICommandRegistry.

Definition at line 64 of file CommandRegistry.cpp.


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