diff options
Diffstat (limited to 'src/devices/imagedev/midiout.h')
-rw-r--r-- | src/devices/imagedev/midiout.h | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/src/devices/imagedev/midiout.h b/src/devices/imagedev/midiout.h index 159e71cab17..6640d94b3f8 100644 --- a/src/devices/imagedev/midiout.h +++ b/src/devices/imagedev/midiout.h @@ -15,6 +15,13 @@ #include "diserial.h" +#include "interface/midiport.h" + +#include <memory> +#include <string> +#include <system_error> +#include <utility> + /*************************************************************************** TYPE DEFINITIONS @@ -27,39 +34,40 @@ class midiout_device : public device_t, public: // construction/destruction midiout_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ~midiout_device(); - // image-level overrides - virtual image_init_result call_load() override; + // device_image_interface implementation + virtual std::pair<std::error_condition, std::string> call_load() override; virtual void call_unload() override; // image device - virtual iodevice_t image_type() const override { return IO_MIDIOUT; } - virtual bool is_readable() const override { return 0; } - virtual bool is_writeable() const override { return 1; } - virtual bool is_creatable() const override { return 0; } - virtual bool must_be_loaded() const override { return 0; } - virtual bool is_reset_on_load() const override { return 0; } - virtual const char *file_extensions() const override { return "mid"; } - virtual bool core_opens_image_file() const override { return false; } + virtual bool is_readable() const noexcept override { return false; } + virtual bool is_writeable() const noexcept override { return true; } + virtual bool is_creatable() const noexcept override { return false; } + virtual bool is_reset_on_load() const noexcept override { return false; } + virtual const char *file_extensions() const noexcept override { return "mid"; } + virtual bool core_opens_image_file() const noexcept override { return false; } + virtual const char *image_type_name() const noexcept override { return "midiout"; } + virtual const char *image_brief_type_name() const noexcept override { return "mout"; } virtual void tx(uint8_t state) { rx_w(state); } protected: - // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; + // device_t implementation + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; - // serial overrides + // device_serial_interface implementation virtual void rcv_complete() override; // Rx completed receiving byte private: - osd_midi_device *m_midi; + std::unique_ptr<osd::midi_output_port> m_midi; }; // device type definition DECLARE_DEVICE_TYPE(MIDIOUT, midiout_device) // device iterator -typedef device_type_iterator<midiout_device> midiout_device_iterator; +typedef device_type_enumerator<midiout_device> midiout_device_enumerator; #endif // MAME_IMAGEDEV_MIDIOUT_H |