summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/nvram.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/nvram.h')
-rw-r--r--src/devices/machine/nvram.h28
1 files changed, 12 insertions, 16 deletions
diff --git a/src/devices/machine/nvram.h b/src/devices/machine/nvram.h
index 30ee2d9088a..2a982b590e1 100644
--- a/src/devices/machine/nvram.h
+++ b/src/devices/machine/nvram.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_MACHINE_NVRAM_H
+#define MAME_MACHINE_NVRAM_H
-#ifndef __NVRAM_H__
-#define __NVRAM_H__
+#pragma once
@@ -33,7 +33,7 @@
nvram_device::static_set_default_value(*device, nvram_device::DEFAULT_NONE);
#define MCFG_NVRAM_ADD_CUSTOM_DRIVER(_tag, _class, _method) \
MCFG_DEVICE_ADD(_tag, NVRAM, 0) \
- nvram_device::static_set_custom_handler(*device, nvram_init_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
+ nvram_device::static_set_custom_handler(*device, nvram_device::init_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
#define MCFG_NVRAM_REPLACE_0FILL(_tag) \
MCFG_DEVICE_REPLACE(_tag, NVRAM, 0) \
@@ -46,26 +46,22 @@
nvram_device::static_set_default_value(*device, nvram_device::DEFAULT_RANDOM);
#define MCFG_NVRAM_REPLACE_CUSTOM_DRIVER(_tag, _class, _method) \
MCFG_DEVICE_REPLACE(_tag, NVRAM, 0) \
- nvram_device::static_set_custom_handler(*device, nvram_init_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
+ nvram_device::static_set_custom_handler(*device, nvram_device::init_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class nvram_device;
-
-
-// custom initialization for default state
-typedef device_delegate<void (nvram_device &, void *, size_t)> nvram_init_delegate;
-
-
// ======================> nvram_device
class nvram_device : public device_t,
public device_nvram_interface
{
public:
+ // custom initialization for default state
+ typedef device_delegate<void (nvram_device &, void *, size_t)> init_delegate;
+
// values
enum default_value
{
@@ -81,7 +77,7 @@ public:
// inline configuration helpers
static void static_set_default_value(device_t &device, default_value value);
- static void static_set_custom_handler(device_t &device, nvram_init_delegate callback);
+ static void static_set_custom_handler(device_t &device, init_delegate &&callback);
// controls
void set_base(void *base, size_t length) { m_base = base; m_length = length; }
@@ -101,7 +97,7 @@ protected:
// configuration state
optional_memory_region m_region;
default_value m_default_value;
- nvram_init_delegate m_custom_handler;
+ init_delegate m_custom_handler;
// runtime state
void * m_base;
@@ -110,7 +106,7 @@ protected:
// device type definition
-extern const device_type NVRAM;
+DECLARE_DEVICE_TYPE(NVRAM, nvram_device)
-#endif
+#endif // MAME_DEVICES_MACHINE_NVRAM_H