openMSX
Classes | Public Member Functions | Protected Member Functions | List of all members
openmsx::Command Class Referenceabstract

#include <Command.hh>

Inheritance diagram for openmsx::Command:
Inheritance graph
[legend]
Collaboration diagram for openmsx::Command:
Collaboration graph
[legend]

Public Member Functions

virtual void execute (std::span< const TclObject > tokens, TclObject &result)=0
 Execute this command.
 
void tabCompletion (std::vector< std::string > &tokens) const override
 Attempt tab completion for this command.
 
void setAllowedInEmptyMachine (bool value)
 
bool isAllowedInEmptyMachine () const
 
void setToken (void *token_)
 
void * getToken () const
 
template<typename... Args>
void executeSubCommand (std::string_view subCmd, Args &&... args)
 
- Public Member Functions inherited from openmsx::CommandCompleter
 CommandCompleter (const CommandCompleter &)=delete
 
 CommandCompleter (CommandCompleter &&)=delete
 
CommandCompleteroperator= (const CommandCompleter &)=delete
 
CommandCompleteroperator= (CommandCompleter &&)=delete
 
CommandControllergetCommandController () const
 
InterpretergetInterpreter () const final
 
- Public Member Functions inherited from openmsx::Completer
 Completer (const Completer &)=delete
 
 Completer (Completer &&)=delete
 
Completeroperator= (const Completer &)=delete
 
Completeroperator= (Completer &&)=delete
 
const std::string & getName () const
 
virtual std::string help (std::span< const TclObject > tokens) const =0
 Print help for this command.
 
void checkNumArgs (std::span< const TclObject > tokens, unsigned exactly, const char *errMessage) const
 
void checkNumArgs (std::span< const TclObject > tokens, AtLeast atLeast, const char *errMessage) const
 
void checkNumArgs (std::span< const TclObject > tokens, Between between, const char *errMessage) const
 
void checkNumArgs (std::span< const TclObject > tokens, unsigned exactly, Prefix prefix, const char *errMessage) const
 
void checkNumArgs (std::span< const TclObject > tokens, AtLeast atLeast, Prefix prefix, const char *errMessage) const
 
void checkNumArgs (std::span< const TclObject > tokens, Between between, Prefix prefix, const char *errMessage) const
 
template<typename ITER >
NEVER_INLINE std::vector< std::string_view > filter (std::string_view str, ITER begin, ITER end, bool caseSensitive)
 

Protected Member Functions

 Command (CommandController &controller, std::string_view name)
 
 ~Command ()
 
- Protected Member Functions inherited from openmsx::CommandCompleter
 CommandCompleter (CommandController &controller, std::string_view name)
 
 ~CommandCompleter ()
 
GlobalCommandControllergetGlobalCommandController () const
 
CliCommgetCliComm () const
 
- Protected Member Functions inherited from openmsx::Completer
template<typename String >
requires (!std::same_as<Completer, std::remove_cvref_t<String>>)
 Completer (String &&name_)
 
 ~Completer ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from openmsx::Completer
template<typename ITER >
static void completeString (std::vector< std::string > &tokens, ITER begin, ITER end, bool caseSensitive=true)
 
template<typename RANGE >
static void completeString (std::vector< std::string > &tokens, RANGE &&possibleValues, bool caseSensitive=true)
 
template<typename RANGE >
static void completeFileName (std::vector< std::string > &tokens, const FileContext &context, const RANGE &extra)
 
static void completeFileName (std::vector< std::string > &tokens, const FileContext &context)
 
static std::vector< std::string > formatListInColumns (std::span< const std::string_view > input)
 
static void setOutput (InterpreterOutput *output_)
 

Detailed Description

Definition at line 43 of file Command.hh.

Constructor & Destructor Documentation

◆ Command()

openmsx::Command::Command ( CommandController controller,
std::string_view  name 
)
protected

◆ ~Command()

openmsx::Command::~Command ( )
protected

Member Function Documentation

◆ execute()

virtual void openmsx::Command::execute ( std::span< const TclObject tokens,
TclObject result 
)
pure virtual

◆ executeSubCommand()

template<typename... Args>
void openmsx::Command::executeSubCommand ( std::string_view  subCmd,
Args &&...  args 
)
inline

Definition at line 76 of file Command.hh.

◆ getToken()

void * openmsx::Command::getToken ( ) const
inline

Definition at line 72 of file Command.hh.

Referenced by openmsx::Interpreter::unregisterCommand().

◆ isAllowedInEmptyMachine()

bool openmsx::Command::isAllowedInEmptyMachine ( ) const
inline

Definition at line 68 of file Command.hh.

◆ setAllowedInEmptyMachine()

void openmsx::Command::setAllowedInEmptyMachine ( bool  value)
inline

◆ setToken()

void openmsx::Command::setToken ( void *  token_)
inline

Definition at line 71 of file Command.hh.

Referenced by openmsx::Interpreter::registerCommand().

◆ tabCompletion()

void openmsx::Command::tabCompletion ( std::vector< std::string > &  tokens) const
overridevirtual

Attempt tab completion for this command.

Default implementation does nothing.

Parameters
tokensTokenized command line; tokens[0] is the command itself. The last token is incomplete, this method tries to complete it.

Implements openmsx::Completer.

Reimplemented in openmsx::ProxyCmd, openmsx::MessageCommand, openmsx::DiskCommand, openmsx::NowindCommand, openmsx::HDCommand, openmsx::LSXCommand, openmsx::ExtCmd, openmsx::LoadMachineCmd, openmsx::RemoveExtCmd, openmsx::MachineCommand, openmsx::TestMachineCommand, openmsx::DeleteMachineCommand, openmsx::StoreMachineCommand, and openmsx::RestoreMachineCommand.

Definition at line 61 of file Command.cc.


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