diff options
Diffstat (limited to 'src/devices/bus/x68k/x68kexp.h')
-rw-r--r-- | src/devices/bus/x68k/x68kexp.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/devices/bus/x68k/x68kexp.h b/src/devices/bus/x68k/x68kexp.h index c1bde3a2306..5b66685fbed 100644 --- a/src/devices/bus/x68k/x68kexp.h +++ b/src/devices/bus/x68k/x68kexp.h @@ -61,8 +61,10 @@ * */ -#ifndef X68KEXP_H_ -#define X68KEXP_H_ +#ifndef MAME_BUS_X68K_X68KEXP_H +#define MAME_BUS_X68K_X68KEXP_H + +#pragma once //************************************************************************** @@ -99,28 +101,29 @@ class device_x68k_expansion_card_interface : public device_slot_card_interface { public: // construction/destruction - device_x68k_expansion_card_interface(const machine_config &mconfig, device_t &device); virtual ~device_x68k_expansion_card_interface(); // reset - virtual void x68k_reset_w() { }; + virtual void x68k_reset_w() { } + +protected: + device_x68k_expansion_card_interface(const machine_config &mconfig, device_t &device); }; // ======================> x68k_expansion_slot_device -class x68k_expansion_slot_device : public device_t, - public device_slot_interface +class x68k_expansion_slot_device : public device_t, public device_slot_interface { public: // construction/destruction x68k_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~x68k_expansion_slot_device(); - template<class _Object> static devcb_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq2_cb.set_callback(object); } - template<class _Object> static devcb_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq4_cb.set_callback(object); } - template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); } - template<class _Object> static devcb_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); } + template <class Object> static devcb_base &set_out_irq2_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq2_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_out_irq4_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq4_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_out_reset_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_reset_cb.set_callback(std::forward<Object>(cb)); } DECLARE_WRITE_LINE_MEMBER( irq2_w ); @@ -143,6 +146,6 @@ protected: // device type definition -extern const device_type X68K_EXPANSION_SLOT; +DECLARE_DEVICE_TYPE(X68K_EXPANSION_SLOT, x68k_expansion_slot_device) -#endif /* X68KEXP_H_ */ +#endif // MAME_BUS_X68K_X68KEXP_H |