diff options
Diffstat (limited to 'src/emu/machine.h')
-rw-r--r-- | src/emu/machine.h | 53 |
1 files changed, 21 insertions, 32 deletions
diff --git a/src/emu/machine.h b/src/emu/machine.h index dcd935cfde9..755e8466384 100644 --- a/src/emu/machine.h +++ b/src/emu/machine.h @@ -165,14 +165,14 @@ public: memory_manager &memory() { return m_memory; } ioport_manager &ioport() { return m_ioport; } parameters_manager ¶meters() { return m_parameters; } - cheat_manager &cheat() const { assert(m_cheat != NULL); return *m_cheat; } - render_manager &render() const { assert(m_render != NULL); return *m_render; } - input_manager &input() const { assert(m_input != NULL); return *m_input; } - sound_manager &sound() const { assert(m_sound != NULL); return *m_sound; } - video_manager &video() const { assert(m_video != NULL); return *m_video; } - ui_manager &ui() const { assert(m_ui != NULL); return *m_ui; } - tilemap_manager &tilemap() const { assert(m_tilemap != NULL); return *m_tilemap; } - debug_view_manager &debug_view() const { assert(m_debug_view != NULL); return *m_debug_view; } + cheat_manager &cheat() const { assert(m_cheat != nullptr); return *m_cheat; } + render_manager &render() const { assert(m_render != nullptr); return *m_render; } + input_manager &input() const { assert(m_input != nullptr); return *m_input; } + sound_manager &sound() const { assert(m_sound != nullptr); return *m_sound; } + video_manager &video() const { assert(m_video != nullptr); return *m_video; } + ui_manager &ui() const { assert(m_ui != nullptr); return *m_ui; } + tilemap_manager &tilemap() const { assert(m_tilemap != nullptr); return *m_tilemap; } + debug_view_manager &debug_view() const { assert(m_debug_view != nullptr); return *m_debug_view; } driver_device *driver_data() const { return &downcast<driver_device &>(root_device()); } template<class _DriverClass> _DriverClass *driver_data() const { return &downcast<_DriverClass &>(root_device()); } machine_phase phase() const { return m_current_phase; } @@ -193,9 +193,6 @@ public: inline device_t *device(const char *tag) const { return root_device().subdevice(tag); } template<class _DeviceClass> inline _DeviceClass *device(const char *tag) { return downcast<_DeviceClass *>(device(tag)); } - // configuration helpers - device_t &add_dynamic_device(device_t &owner, device_type type, const char *tag, UINT32 clock); - // immediate operations int run(bool firstrun); void pause(); @@ -256,8 +253,8 @@ private: void set_saveload_filename(const char *filename); std::string get_statename(const char *statename_opt); void handle_saveload(); - void soft_reset(void *ptr = NULL, INT32 param = 0); - void watchdog_fired(void *ptr = NULL, INT32 param = 0); + void soft_reset(void *ptr = nullptr, INT32 param = 0); + void watchdog_fired(void *ptr = nullptr, INT32 param = 0); void watchdog_vblank(screen_device &screen, bool vblank_state); const char *image_parent_basename(device_t *device); std::string &nvram_filename(std::string &result, device_t &device); @@ -281,14 +278,14 @@ private: const game_driver & m_system; // reference to the definition of the game machine machine_manager & m_manager; // reference to machine manager system // managers - auto_pointer<cheat_manager> m_cheat; // internal data from cheat.c - auto_pointer<render_manager> m_render; // internal data from render.c - auto_pointer<input_manager> m_input; // internal data from input.c - auto_pointer<sound_manager> m_sound; // internal data from sound.c - auto_pointer<video_manager> m_video; // internal data from video.c - auto_pointer<ui_manager> m_ui; // internal data from ui.c - auto_pointer<tilemap_manager> m_tilemap; // internal data from tilemap.c - auto_pointer<debug_view_manager> m_debug_view; // internal data from debugvw.c + std::unique_ptr<cheat_manager> m_cheat; // internal data from cheat.c + std::unique_ptr<render_manager> m_render; // internal data from render.c + std::unique_ptr<input_manager> m_input; // internal data from input.c + std::unique_ptr<sound_manager> m_sound; // internal data from sound.c + std::unique_ptr<video_manager> m_video; // internal data from video.c + std::unique_ptr<ui_manager> m_ui; // internal data from ui.c + std::unique_ptr<tilemap_manager> m_tilemap; // internal data from tilemap.c + std::unique_ptr<debug_view_manager> m_debug_view; // internal data from debugvw.c // system state machine_phase m_current_phase; // current execution phase @@ -309,7 +306,7 @@ private: std::string m_basename; // basename used for game-related paths std::string m_context; // context string buffer int m_sample_rate; // the digital audio sample rate - auto_pointer<emu_file> m_logfile; // pointer to the active log file + std::unique_ptr<emu_file> m_logfile; // pointer to the active log file // load/save management enum saveload_schedule @@ -329,14 +326,10 @@ private: // construction/destruction notifier_callback_item(machine_notify_delegate func); - // getters - notifier_callback_item *next() const { return m_next; } - // state - notifier_callback_item * m_next; machine_notify_delegate m_func; }; - simple_list<notifier_callback_item> m_notifier_list[MACHINE_NOTIFY_COUNT]; + std::list<std::unique_ptr<notifier_callback_item>> m_notifier_list[MACHINE_NOTIFY_COUNT]; // logerror callbacks class logerror_callback_item @@ -345,14 +338,10 @@ private: // construction/destruction logerror_callback_item(logerror_callback func); - // getters - logerror_callback_item *next() const { return m_next; } - // state - logerror_callback_item * m_next; logerror_callback m_func; }; - simple_list<logerror_callback_item> m_logerror_list; + std::list<std::unique_ptr<logerror_callback_item>> m_logerror_list; // embedded managers and objects save_manager m_save; // save manager |