OXYGENHUB
◆ main openmsx / src / fdc / NowindCommand.hh
964 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
1
#ifndef NOWINDCOMMAND_HH
2
#define NOWINDCOMMAND_HH
3
4
#include "NowindHost.hh"
5
6
#include "Command.hh"
7
8
#include <memory>
9
10
namespace openmsx {
11
12
class NowindInterface;
13
class DiskChanger;
14
class MSXMotherBoard;
15
16
class NowindCommand final : public Command
17
{
18
public:
19
	NowindCommand(const std::string& basename,
20
	              CommandController& commandController,
21
	              NowindInterface& interface);
22
	void execute(std::span<const TclObject> tokens, TclObject& result) override;
23
	[[nodiscard]] std::string help(std::span<const TclObject> tokens) const override;
24
	void tabCompletion(std::vector<std::string>& tokens) const override;
25
26
	[[nodiscard]] std::unique_ptr<DiskChanger> createDiskChanger(
27
		const std::string& basename, unsigned n,
28
		MSXMotherBoard& motherBoard) const;
29
30
private:
31
	void processHdimage(const std::string& hdImage,
32
	                    NowindHost::Drives& drives) const;
33
34
private:
35
	NowindInterface& interface;
36
};
37
38
} // namespace openmsx
39
40
#endif