summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/macpds/macpds.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/macpds/macpds.h')
-rw-r--r--src/devices/bus/macpds/macpds.h34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/devices/bus/macpds/macpds.h b/src/devices/bus/macpds/macpds.h
index 848d5d726f5..fdd62404fac 100644
--- a/src/devices/bus/macpds/macpds.h
+++ b/src/devices/bus/macpds/macpds.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_MACPDS_MACPDS_H
+#define MAME_BUS_MACPDS_MACPDS_H
-#ifndef __MACPDS_H__
-#define __MACPDS_H__
+#pragma once
@@ -51,20 +51,22 @@ class macpds_slot_device : public device_t,
public:
// construction/destruction
macpds_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- macpds_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
// inline configuration
static void static_set_macpds_slot(device_t &device, const char *tag, const char *slottag);
+
protected:
+ macpds_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
// configuration
const char *m_macpds_tag, *m_macpds_slottag;
};
// device type definition
-extern const device_type MACPDS_SLOT;
+DECLARE_DEVICE_TYPE(MACPDS_SLOT, macpds_slot_device)
class device_macpds_card_interface;
@@ -75,7 +77,6 @@ class macpds_device : public device_t
public:
// construction/destruction
macpds_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- macpds_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
~macpds_device() { m_device_list.detach_all(); }
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
@@ -87,6 +88,8 @@ public:
void set_irq_line(int line, int state);
protected:
+ macpds_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -100,7 +103,7 @@ protected:
// device type definition
-extern const device_type MACPDS;
+DECLARE_DEVICE_TYPE(MACPDS, macpds_device)
// ======================> device_macpds_card_interface
@@ -108,9 +111,9 @@ extern const device_type MACPDS;
class device_macpds_card_interface : public device_slot_card_interface
{
friend class macpds_device;
+ template <class ElememtType> friend class simple_list;
public:
// construction/destruction
- device_macpds_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_macpds_card_interface();
device_macpds_card_interface *next() const { return m_next; }
@@ -123,10 +126,15 @@ public:
// inline configuration
static void static_set_macpds_tag(device_t &device, const char *tag, const char *slottag);
-public:
+
+protected:
+ device_macpds_card_interface(const machine_config &mconfig, device_t &device);
+
macpds_device *m_macpds;
const char *m_macpds_tag, *m_macpds_slottag;
+
+private:
device_macpds_card_interface *m_next;
};
-#endif /* __MACPDS_H__ */
+#endif // MAME_BUS_MACPDS_MACPDS_H