diff options
author | 2020-05-03 23:37:44 +0200 | |
---|---|---|
committer | 2020-05-04 09:22:16 +0200 | |
commit | b500f2d24175ff2bd8efdb889a6c5eea12e96314 (patch) | |
tree | 5fff1c55603387a2258b830cab01ac21ac6e43b9 /src/lib/netlist/nl_base.cpp | |
parent | e59af6d5e89f02a2a626adc95b244924403b98f9 (diff) |
netlist: Restructered the save state system. (nw)
This change makes state saving contract based. Objects which need to
save state need to have the following template member:
template <typename ST>
void save_state(ST &st)
{
/* Example */
st.save_item(m_p, "m_p");
st.save_item(m_buf, "m_buf");
}
This member function is called when the object is passed to the
state manager save function.
Diffstat (limited to 'src/lib/netlist/nl_base.cpp')
-rw-r--r-- | src/lib/netlist/nl_base.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp index 25fbe484b3b..8f84e8812d3 100644 --- a/src/lib/netlist/nl_base.cpp +++ b/src/lib/netlist/nl_base.cpp @@ -195,8 +195,8 @@ namespace netlist , m_queue(*this) , m_use_stats(false) { - state.run_state_manager().save_item(this, static_cast<plib::state_manager_t::callback_t &>(m_queue), "m_queue"); - state.run_state_manager().save_item(this, m_time, "m_time"); + state.save(*this, static_cast<plib::state_manager_t::callback_t &>(m_queue), "netlist", "m_queue"); + state.save(*this, m_time, "netlist", "m_time"); } // ---------------------------------------------------------------------------------------- @@ -655,8 +655,8 @@ namespace netlist detail::net_t::net_t(netlist_state_t &nl, const pstring &aname, core_terminal_t *railterminal) : netlist_object_t(nl.exec(), aname) - , m_new_Q(*this, "m_new_Q", 0) - , m_cur_Q (*this, "m_cur_Q", 0) + , m_new_Q(*this, "m_new_Q", netlist_sig_t(0)) + , m_cur_Q (*this, "m_cur_Q", netlist_sig_t(0)) , m_in_queue(*this, "m_in_queue", queue_status::DELIVERED) , m_next_scheduled_time(*this, "m_time", netlist_time_ext::zero()) , m_railterminal(railterminal) |