| 247 | } |
| 248 | |
| 249 | bool AgentSML::Reinitialize() |
| 250 | { |
| 251 | m_pKernelSML->FireAgentEvent(this, smlEVENT_BEFORE_AGENT_REINITIALIZED) ; |
| 252 | |
| 253 | bool ok = reinitialize_soar(m_agent); |
| 254 | |
| 255 | // This must happen now because old output link identifiers get shipped over during do_output_phase above |
| 256 | // and then the new identifiers get shipped out during do_output_phase inside init_agent_memory below. |
| 257 | // With smem, those identifier details can change (output-link not being I3) and this causes problems. |
| 258 | // Can't use smlEVENT_AFTER_AGENT_REINITIALIZED because that happens too late. |
| 259 | this->m_OutputListener.SendOutputInitEvent(); |
| 260 | |
| 261 | init_agent_memory(m_agent); |
| 262 | |
| 263 | InitializeRuntimeState() ; |
| 264 | |
| 265 | ResetCaptureReplay(); |
| 266 | m_pKernelSML->FireAgentEvent(this, smlEVENT_AFTER_AGENT_REINITIALIZED) ; |
| 267 | return ok ; |
| 268 | } |
| 269 | |
| 270 | void AgentSML::RemoveAllListeners(Connection* pConnection) |
| 271 | { |
no test coverage detected