openMSX
RomInfo.hh
Go to the documentation of this file.
1 #ifndef ROMINFO_HH
2 #define ROMINFO_HH
3 
4 #include "RomTypes.hh"
5 #include "string_ref.hh"
6 #include <vector>
7 
8 namespace openmsx {
9 
10 class CliComm;
11 
12 class RomInfo
13 {
14 public:
15  RomInfo(string_ref id, string_ref year,
16  string_ref company, string_ref country,
17  bool original, string_ref origType,
18  string_ref remark, const RomType& romType,
19  int genMSXid);
20 
21  const std::string& getTitle() const { return title; }
22  const std::string& getYear() const { return year; }
23  const std::string& getCompany() const { return company; }
24  const std::string& getCountry() const { return country; }
25  const std::string& getOrigType() const { return origType; }
26  const std::string& getRemark() const { return remark; }
27  const RomType& getRomType() const { return romType; }
28  bool getOriginal() const { return original; }
29  int getGenMSXid() const { return genMSXid; }
30 
31  static RomType nameToRomType(string_ref name);
32  static string_ref romTypeToName(RomType type);
33  static std::vector<std::string> getAllRomTypes();
34  static string_ref getDescription(RomType type);
35  static unsigned getBlockSize (RomType type);
36 
37 private:
38  const std::string title;
39  const std::string year;
40  const std::string company;
41  const std::string country;
42  const std::string origType;
43  const std::string remark;
44  const RomType romType;
45  const int genMSXid;
46  const bool original;
47 };
48 
49 } // namespace openmsx
50 
51 #endif