summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/debugger.cpp
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-01-12 09:50:59 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2016-01-12 09:50:59 +0100
commitf9a9eafba08d2caf032f8a0e1c318dd46b8448a8 (patch)
treec86fb6df06fa19342bf7e9dc6afb6dbd41d6cc8b /src/emu/debugger.cpp
parent7dec0b41432f05b1687b0e08df626b19bef6e3c6 (diff)
created debugger_manager, now this one owns debug_view_manager (nw)
Diffstat (limited to 'src/emu/debugger.cpp')
-rw-r--r--src/emu/debugger.cpp44
1 files changed, 24 insertions, 20 deletions
diff --git a/src/emu/debugger.cpp b/src/emu/debugger.cpp
index f246407cd92..790e3d6ed63 100644
--- a/src/emu/debugger.cpp
+++ b/src/emu/debugger.cpp
@@ -33,27 +33,25 @@ static void debugger_exit(running_machine &machine);
-/***************************************************************************
- CENTRAL INITIALIZATION POINT
-***************************************************************************/
+//**************************************************************************
+// DEBUGGER MANAGER
+//**************************************************************************
-/*-------------------------------------------------
- debugger_init - start up all subsections
--------------------------------------------------*/
+//-------------------------------------------------
+// debugger_manager - constructor
+//-------------------------------------------------
-void debugger_init(running_machine &machine)
+debugger_manager::debugger_manager(running_machine &machine)
+ : m_machine(machine)
{
/* only if debugging is enabled */
if (machine.debug_flags & DEBUG_FLAG_ENABLED)
{
/* initialize the submodules */
- machine.m_debug_view = std::make_unique<debug_view_manager>(machine);
+ m_debug_view = std::make_unique<debug_view_manager>(machine);
debug_cpu_init(machine);
debug_command_init(machine);
- debug_console_init(machine);
- /* allocate a new entry for our global list */
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(debugger_exit), &machine));
g_machine = &machine;
/* register an atexit handler if we haven't yet */
@@ -69,26 +67,32 @@ void debugger_init(running_machine &machine)
}
}
-
/*-------------------------------------------------
- debugger_refresh_display - redraw the current
- video display
+// debugger_manager - destructor
-------------------------------------------------*/
-void debugger_refresh_display(running_machine &machine)
+debugger_manager::~debugger_manager()
{
- machine.video().frame_update(true);
+ g_machine = nullptr;
}
+void debugger_manager::initialize()
+{
+ /* only if debugging is enabled */
+ if (machine().debug_flags & DEBUG_FLAG_ENABLED)
+ {
+ debug_console_init(machine());
+ }
+}
/*-------------------------------------------------
- debugger_exit - remove ourself from the
- global list of active machines for cleanup
+ refresh_display - redraw the current
+ video display
-------------------------------------------------*/
-static void debugger_exit(running_machine &machine)
+void debugger_manager::refresh_display()
{
- g_machine = nullptr;
+ machine().video().frame_update(true);
}