openMSX
MSXRomCLI.hh
Go to the documentation of this file.
1#ifndef MSXROMCLI_HH
2#define MSXROMCLI_HH
3
4#include "CLIOption.hh"
5
6namespace openmsx {
7
8class CommandLineParser;
9
10class MSXRomCLI final : public CLIOption, public CLIFileType
11{
12public:
13 explicit MSXRomCLI(CommandLineParser& cmdLineParser);
14
15 void parseOption(const std::string& option,
16 std::span<std::string>& cmdLine) override;
17 [[nodiscard]] std::string_view optionHelp() const override;
18
19 void parseFileType(const std::string& arg,
20 std::span<std::string>& cmdLine) override;
21 [[nodiscard]] std::string_view fileTypeHelp() const override;
22 [[nodiscard]] std::string_view fileTypeCategoryName() const override;
23
24private:
25 void parse(const std::string& arg, const std::string& slotName,
26 std::span<std::string>& cmdLine);
27
28private:
29 CommandLineParser& cmdLineParser;
30
31 struct IpsOption final : CLIOption {
32 void parseOption(const std::string& option,
33 std::span<std::string>& cmdLine) override;
34 [[nodiscard]] std::string_view optionHelp() const override;
35 } ipsOption;
36 struct RomTypeOption final : CLIOption {
37 void parseOption(const std::string& option,
38 std::span<std::string>& cmdLine) override;
39 [[nodiscard]] std::string_view optionHelp() const override;
40 } romTypeOption;
41};
42
43} // namespace openmsx
44
45#endif
void parseFileType(const std::string &arg, std::span< std::string > &cmdLine) override
Definition: MSXRomCLI.cc:43
std::string_view fileTypeCategoryName() const override
Definition: MSXRomCLI.cc:53
std::string_view fileTypeHelp() const override
Definition: MSXRomCLI.cc:48
std::string_view optionHelp() const override
Definition: MSXRomCLI.cc:38
MSXRomCLI(CommandLineParser &cmdLineParser)
Definition: MSXRomCLI.cc:13
void parseOption(const std::string &option, std::span< std::string > &cmdLine) override
Definition: MSXRomCLI.cc:26
This file implemented 3 utility functions:
Definition: Autofire.cc:9