| 454 | } |
| 455 | |
| 456 | void AgentSML::FireRunEvent(smlRunEventId eventId) |
| 457 | { |
| 458 | if (eventId == smlEVENT_AFTER_RUN_ENDS) |
| 459 | { |
| 460 | // Send the trace to the clients |
| 461 | xml_invoke_callback(GetSoarAgent()); // invokes XML_GENERATION_CALLBACK, clears XML state |
| 462 | } |
| 463 | |
| 464 | // Trigger a callback from the kernel to propagate the event out to listeners. |
| 465 | // This allows us to use a single uniform model for all run events (even when some are really originating here in SML). |
| 466 | int callbackEvent = KernelCallback::GetCallbackFromEventID(eventId) ; |
| 467 | soar_invoke_callbacks(m_agent, SOAR_CALLBACK_TYPE(callbackEvent), reinterpret_cast<soar_call_data>(m_agent->current_phase)); |
| 468 | } |
| 469 | |
| 470 | void AgentSML::FireSimpleXML(char const* pMsg) |
| 471 | { |
no test coverage detected