1#ifndef MSXCOMMANDCONTROLLER_HH
2#define MSXCOMMANDCONTROLLER_HH
15class GlobalCommandController;
16class MSXEventDistributor;
31 const std::string& machineID);
35 return globalCommandController;
38 return *machineInfoCommand;
43 [[nodiscard]]
const std::string&
getPrefix()
const {
58 [[nodiscard]]
bool hasCommand(std::string_view command)
const;
62 std::string_view str)
override;
64 std::string_view str)
override;
68 std::string_view str)
override;
80 void signalMSXEvent(
const Event& event,
81 EmuTime::param time)
noexcept override;
87 std::string machineID;
88 std::optional<InfoCommand> machineInfoCommand;
90 struct NameFromCommand {
91 [[nodiscard]]
const std::string& operator()(
const Command* c)
const {
97 std::vector<Setting*> settings;
const std::string & getName() const
bool hasCommand(std::string_view command) const
MSXMotherBoard & getMSXMotherBoard() const
Interpreter & getInterpreter() override
void registerCompleter(CommandCompleter &completer, std::string_view str) override
(Un)register a command completer, used to complete build-in Tcl cmds
GlobalCommandController & getGlobalCommandController()
TclObject executeCommand(zstring_view command, CliConnection *connection=nullptr) override
Execute the given command.
void unregisterCompleter(CommandCompleter &completer, std::string_view str) override
void registerCommand(Command &command, zstring_view str) override
(Un)register a command
void transferSettings(const MSXCommandController &from)
Transfer setting values from one machine to another, used for during 'reverse'.
void unregisterSetting(Setting &setting) override
const std::string & getPrefix() const
bool isActive() const
Returns true iff the machine this controller belongs to is currently active.
MSXCommandController(const MSXCommandController &)=delete
CliComm & getCliComm() override
MSXCommandController & operator=(const MSXCommandController &)=delete
void unregisterCommand(Command &command, std::string_view str) override
void registerSetting(Setting &setting) override
TODO.
InfoCommand & getMachineInfoCommand()
Command * findCommand(std::string_view name) const
Contains the main loop of openMSX.
Like std::string_view, but with the extra guarantee that it refers to a zero-terminated string.
This file implemented 3 utility functions: