+#ifndef SCD_STS_INIT_H
+#define SCD_STS_INIT_H
+
+#include "fsm/scd_sts_base.h"
+
+
+/* forward declaration */
+class scd_cont_man_slave;
+
+
+class scd_sts_init : public scd_sts_base
+{
+public:
+ scd_sts_init(scd_simulator& sim, scd_cont_man_slave& fsm):
+ scd_sts_base(sim, fsm) { _name = "init"; }
+ virtual ~scd_sts_init() {}
+
+ void set_failed();
+
+ /* scd_cont_fsm_if */
+ void set_idle(const sc_core::sc_time& time);
+ void set_busy();
+ void set_done();
+ void set_fail();
+ void process();
+ bool active() const;
+ bool advance_time() const;
+};
+
+#endif