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
openmsx::HardwareConfig
HardwareConfig
Definition: HardwareConfig.cc:459
openmsx::VDPIODelay
VDPIODelay
Definition: VDPIODelay.cc:75
openmsx::DeviceFactory::createVDPIODelay
static std::unique_ptr< VDPIODelay > createVDPIODelay(const HardwareConfig &hwConf, MSXCPUInterface &cpuInterface)
Definition: DeviceFactory.cc:324
openmsx::DeviceFactory::createDeviceSwitch
static std::unique_ptr< MSXDeviceSwitch > createDeviceSwitch(const HardwareConfig &hwConf)
Definition: DeviceFactory.cc:310
openmsx::MSXMapperIO
MSXMapperIO
Definition: MSXMapperIO.cc:120
openmsx::DeviceFactory::createMapperIO
static std::unique_ptr< MSXMapperIO > createMapperIO(const HardwareConfig &hwConf)
Definition: DeviceFactory.cc:317
openmsx::DeviceConfig
Definition: DeviceConfig.hh:19
openmsx::MSXCPUInterface
Definition: MSXCPUInterface.hh:63
openmsx::DeviceFactory
Definition: DeviceFactory.hh:17
openmsx::DeviceFactory::create
static std::unique_ptr< MSXDevice > create(const DeviceConfig &conf)
Definition: DeviceFactory.cc:131
openmsx::DeviceFactory::createDummyDevice
static std::unique_ptr< DummyDevice > createDummyDevice(const HardwareConfig &hwConf)
Definition: DeviceFactory.cc:303
openmsx::MSXCPUInterface
MSXCPUInterface
Definition: MSXCPUInterface.cc:1274
openmsx::MSXDevice
MSXDevice
Definition: MSXDevice.cc:538
openmsx::HardwareConfig
Definition: HardwareConfig.hh:21
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
openmsx::MSXDeviceSwitch
MSXDeviceSwitch
Definition: MSXDeviceSwitch.cc:97