+#include "fsm/scd_stsw_done.h"
+
+#include "scd_logging.h"
+#include "scd_exception.h"
+#include "scd_cont_slave_wrapper.h"
+
+
+void scd_stsw_done::send_time_req()
+{
+ scd_command* cmd = new scd_command(SCD_CM_CONTROL, SCD_CM_TIME_REQ);
+ _fsm.send_command(cmd);
+ _fsm.save_state();
+ _fsm.set_state(_st_time_req);
+}
+
+
+void scd_stsw_done::send_term_req()
+{
+ scd_command* cmd = new scd_command(SCD_CM_CONTROL, SCD_CM_TERM_REQ);
+ _fsm.send_command(cmd);
+ _fsm.save_state();
+ _fsm.set_state(_st_term_req);
+}
+
+
+bool scd_stsw_done::done() const { return true; }
+
+
+void scd_stsw_done::set_busy()
+{
+ _fsm.set_state(_st_busy);
+}
+
+
+void scd_stsw_done::set_idle(const sc_core::sc_time& time)
+{
+ _time_step = time;
+ _fsm.set_state(_st_idle);
+}