X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=dol%2Fsrc%2Fdol%2Fvisitor%2Fhdsd%2Fscd%2Fscd_cont_man.h;fp=dol%2Fsrc%2Fdol%2Fvisitor%2Fhdsd%2Fscd%2Fscd_cont_man.h;h=54999849c9097153a0de395e5c23d195b1c189d2;hb=8c411cf24ed0eb889191aaeafd8fa1e69081df42;hp=0000000000000000000000000000000000000000;hpb=dea7a4fb1ed110d3ce6e6d9255103d724bd66c0e;p=jump.git diff --git a/dol/src/dol/visitor/hdsd/scd/scd_cont_man.h b/dol/src/dol/visitor/hdsd/scd/scd_cont_man.h new file mode 100644 index 0000000..5499984 --- /dev/null +++ b/dol/src/dol/visitor/hdsd/scd/scd_cont_man.h @@ -0,0 +1,38 @@ +#ifndef SCD_CONT_MAN_H +#define SCD_CONT_MAN_H + +#include + +#include "fsm/scd_cont_fsm_if.h" + + +const bool SCD_MASTER = true; +const bool SCD_SLAVE = false; + +const int SCD_CONT_DELAY = 20; + +/** + * Control manager. Shall be set up before the simulation is initialized. + */ +class scd_cont_man : public scd_cont_fsm_if +{ +public: + virtual ~scd_cont_man() {}; + + /** + * Sets the master simulator for a slave. + * \param host the FQDN or IP of the master simulator + * \param port the TCP port of the master simulator + * \exception scd_exception if the simulator is not a slave + */ + virtual void set_master(const std::string& host, uint16_t port) = 0; + + /** + * Registers a slave simulator for the master. + * \param name the name of the slave + * \exception scd_exception if the simulator is not the master + */ + virtual void register_slave(const std::string& name) = 0; +}; + +#endif