X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c30f84c066cb39165fd9f6a5e56fb37b9bffca35..fb33f893495b18dc7a0e13182b901d4cf662150f:/include/simgrid/s4u/engine.hpp diff --git a/include/simgrid/s4u/engine.hpp b/include/simgrid/s4u/engine.hpp index 395ea59060..413f7ef92e 100644 --- a/include/simgrid/s4u/engine.hpp +++ b/include/simgrid/s4u/engine.hpp @@ -27,6 +27,9 @@ namespace s4u { * This class is an interface to the simulation engine. */ XBT_PUBLIC_CLASS Engine { +private: + ~Engine(); + public: /** Constructor, taking the command line parameters of your main function */ Engine(int *argc, char **argv); @@ -63,10 +66,17 @@ public: /** @brief Retrieve the engine singleton */ static s4u::Engine *instance(); - /** @brief Retrieve the root AS, containing all others */ - simgrid::s4u::As *rootAs(); - /** @brief Retrieve the AS of the given name (or nullptr if not found) */ - simgrid::s4u::As *asByNameOrNull(const char *name); + /** @brief Retrieve the root netzone, containing all others */ + simgrid::s4u::NetZone* netRoot(); + + /** @brief Retrieve the netzone of the given name (or nullptr if not found) */ + simgrid::s4u::NetZone* netzoneByNameOrNull(const char* name); + + /** @brief Retrieve the netcard of the given name (or nullptr if not found) */ + simgrid::kernel::routing::NetPoint* netpointByNameOrNull(const char* name); + void netpointList(std::vector * list); + void netpointRegister(simgrid::kernel::routing::NetPoint * card); + void netpointUnregister(simgrid::kernel::routing::NetPoint * card); template void registerFunction(const char* name) @@ -94,6 +104,16 @@ public: private: static s4u::Engine *instance_; }; + +/** Callback fired when the platform is created (ie, the xml file parsed), + * right before the actual simulation starts. */ +extern XBT_PRIVATE xbt::signal onPlatformCreated; + +/** Callback fired when the main simulation loop ends, just before MSG_run (or similar) ends */ +extern XBT_PRIVATE xbt::signal onSimulationEnd; + +/** Callback fired when the time jumps into the future */ +extern XBT_PRIVATE xbt::signal onTimeAdvance; }} // namespace simgrid::s4u #endif /* SIMGRID_S4U_ENGINE_HPP */