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

#include <InfoTopic.hh>

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

Public Member Functions

 InfoTopic (const InfoTopic &)=delete
 
 InfoTopic (InfoTopic &&)=delete
 
InfoTopicoperator= (const InfoTopic &)=delete
 
InfoTopicoperator= (InfoTopic &&)=delete
 
virtual void execute (std::span< const TclObject > tokens, TclObject &result) const =0
 Show info on this topic.
 
std::string help (std::span< const TclObject > tokens) const override=0
 Print help for this topic.
 
void tabCompletion (std::vector< std::string > &tokens) const override
 Attempt tab completion for this topic.
 
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
 
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

 InfoTopic (InfoCommand &infoCommand, const std::string &name)
 
 ~InfoTopic ()
 
- 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 15 of file InfoTopic.hh.

Constructor & Destructor Documentation

◆ InfoTopic() [1/3]

openmsx::InfoTopic::InfoTopic ( const InfoTopic )
delete

◆ InfoTopic() [2/3]

openmsx::InfoTopic::InfoTopic ( InfoTopic &&  )
delete

◆ InfoTopic() [3/3]

openmsx::InfoTopic::InfoTopic ( InfoCommand infoCommand,
const std::string &  name 
)
protected

Definition at line 6 of file InfoTopic.cc.

References openmsx::InfoCommand::registerTopic().

◆ ~InfoTopic()

openmsx::InfoTopic::~InfoTopic ( )
protected

Definition at line 13 of file InfoTopic.cc.

References openmsx::InfoCommand::unregisterTopic().

Member Function Documentation

◆ execute()

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

Show info on this topic.

Parameters
tokensTokenized command line; tokens[1] is the topic.
resultThe result of this topic must be assigned to this parameter.
Exceptions
CommandExceptionThrown when there was an error while executing this InfoTopic.

Implemented in openmsx::RomInfoTopic, openmsx::MachineNameInfo, openmsx::MachineTypeInfo, openmsx::MachineExtensionInfo, openmsx::MachineMediaInfo, openmsx::DeviceInfo, openmsx::ConfigInfo, openmsx::RealTimeInfo, and openmsx::SoftwareInfoTopic.

◆ getInterpreter()

Interpreter & openmsx::InfoTopic::getInterpreter ( ) const
finalvirtual

Implements openmsx::Completer.

Definition at line 23 of file InfoTopic.cc.

References openmsx::CommandCompleter::getInterpreter().

◆ help()

std::string openmsx::InfoTopic::help ( std::span< const TclObject tokens) const
overridepure virtual

◆ operator=() [1/2]

InfoTopic & openmsx::InfoTopic::operator= ( const InfoTopic )
delete

◆ operator=() [2/2]

InfoTopic & openmsx::InfoTopic::operator= ( InfoTopic &&  )
delete

◆ tabCompletion()

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

Attempt tab completion for this topic.

Default implementation does nothing.

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

Implements openmsx::Completer.

Reimplemented in openmsx::RomInfoTopic, openmsx::MachineExtensionInfo, and openmsx::MachineMediaInfo.

Definition at line 18 of file InfoTopic.cc.


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