openMSX
NowindCommand.hh
Go to the documentation of this file.
1 #ifndef NOWINDCOMMAND_HH
2 #define NOWINDCOMMAND_HH
3 
4 #include "NowindHost.hh"
5 #include "Command.hh"
6 #include <memory>
7 
8 namespace openmsx {
9 
10 class NowindInterface;
11 class DiskChanger;
12 class MSXMotherBoard;
13 
14 class NowindCommand final : public Command
15 {
16 public:
17  NowindCommand(const std::string& basename,
18  CommandController& commandController,
19  NowindInterface& interface);
20  void execute(span<const TclObject> tokens, TclObject& result) override;
21  [[nodiscard]] std::string help(span<const TclObject> tokens) const override;
22  void tabCompletion(std::vector<std::string>& tokens) const override;
23 
24  [[nodiscard]] std::unique_ptr<DiskChanger> createDiskChanger(
25  const std::string& basename, unsigned n,
26  MSXMotherBoard& motherBoard) const;
27 
28 private:
29  void processHdimage(const std::string& hdImage,
30  NowindHost::Drives& drives) const;
31 
32 private:
33  NowindInterface& interface;
34 };
35 
36 } // namespace openmsx
37 
38 #endif
NowindCommand(const std::string &basename, CommandController &commandController, NowindInterface &interface)
void tabCompletion(std::vector< std::string > &tokens) const override
Attempt tab completion for this command.
std::string help(span< const TclObject > tokens) const override
Print help for this command.
std::unique_ptr< DiskChanger > createDiskChanger(const std::string &basename, unsigned n, MSXMotherBoard &motherBoard) const
void execute(span< const TclObject > tokens, TclObject &result) override
Execute this command.
std::vector< std::unique_ptr< DiskContainer > > Drives
Definition: NowindHost.hh:21
Definition: span.hh:126
This file implemented 3 utility functions:
Definition: Autofire.cc:9