1 #include "fsm/scd_stm_init.h"
3 #include "scd_logging.h"
4 #include "scd_exception.h"
5 #include "scd_cont_man_master.h"
8 void scd_stm_init::set_idle(const sc_core::sc_time& time)
10 scd_error("init: illegal call to set_idle()");
11 throw scd_exception("illegal call");
15 void scd_stm_init::set_busy()
17 scd_error("init: illegal call to set_busy()");
18 throw scd_exception("illegal call");
22 void scd_stm_init::set_done()
24 scd_error("init: illegal call to set_done()");
25 throw scd_exception("illegal call");
29 void scd_stm_init::process()
31 // check for failed slaves and react
35 std::list<scd_cont_slave_wrapper*>::iterator iter;
37 for (iter = _slaves.begin(); iter != _slaves.end(); iter++)
39 // if this is still in init state we terminate
40 if ( !(*iter)->active() )
44 // all slaves are active
45 scd_info("all slaves connected");
46 _fsm.set_state(_st_busy);
51 bool scd_stm_init::active() const { return false; }
54 bool scd_stm_init::advance_time() const
56 scd_error("illegal call to advance_time()");
57 throw scd_exception("illegal call");