openMSX
DeviceFactory.hh
Go to the documentation of this file.
1 #ifndef DEVICEFACTORY_HH
2 #define DEVICEFACTORY_HH
3 
4 #include <memory>
5 
6 namespace openmsx {
7 
8 class MSXDevice;
9 class DeviceConfig;
10 class HardwareConfig;
11 class DummyDevice;
12 class MSXDeviceSwitch;
13 class MSXMapperIO;
14 class VDPIODelay;
15 class MSXCPUInterface;
16 
18 {
19 public:
20  static std::unique_ptr<MSXDevice> create(const DeviceConfig& conf);
21  static std::unique_ptr<DummyDevice> createDummyDevice(
22  const HardwareConfig& hwConf);
23  static std::unique_ptr<MSXDeviceSwitch> createDeviceSwitch(
24  const HardwareConfig& hwConf);
25  static std::unique_ptr<MSXMapperIO> createMapperIO(
26  const HardwareConfig& hwConf);
27  static std::unique_ptr<VDPIODelay> createVDPIODelay(
28  const HardwareConfig& hwConf, MSXCPUInterface& cpuInterface);
29 };
30 
31 } // namespace openmsx
32 
33 #endif
static std::unique_ptr< MSXDevice > create(const DeviceConfig &conf)
static std::unique_ptr< DummyDevice > createDummyDevice(const HardwareConfig &hwConf)
static std::unique_ptr< MSXDeviceSwitch > createDeviceSwitch(const HardwareConfig &hwConf)
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
static std::unique_ptr< VDPIODelay > createVDPIODelay(const HardwareConfig &hwConf, MSXCPUInterface &cpuInterface)
static std::unique_ptr< MSXMapperIO > createMapperIO(const HardwareConfig &hwConf)