// $Id: DeviceFactory.hh 5255 2006-03-14 17:44:05Z m9710797 $ #ifndef DEVICEFACTORY_HH #define DEVICEFACTORY_HH #include namespace openmsx { class MSXDevice; class MSXMotherBoard; class HardwareConfig; class XMLElement; class EmuTime; class DummyDevice; class MSXDeviceSwitch; class MSXMapperIO; class VDPIODelay; class DeviceFactory { public: static std::auto_ptr create( MSXMotherBoard& motherBoard, const HardwareConfig& hwConf, const XMLElement& conf, const EmuTime& time); static std::auto_ptr createDummyDevice( MSXMotherBoard& motherBoard); static std::auto_ptr createDeviceSwitch( MSXMotherBoard& motherBoard); static std::auto_ptr createMapperIO( MSXMotherBoard& motherBoard); static std::auto_ptr createVDPIODelay( MSXMotherBoard& motherBoard); }; } // namespace openmsx #endif