X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d77b02b38c73cf34e18a45339d3c3cf8cd23c72b..e7d1d5c0992980f857cb281b7f168b1ca9b54297:/include/simgrid/s4u/Engine.hpp diff --git a/include/simgrid/s4u/Engine.hpp b/include/simgrid/s4u/Engine.hpp index bc7d410db6..636f678ed2 100644 --- a/include/simgrid/s4u/Engine.hpp +++ b/include/simgrid/s4u/Engine.hpp @@ -24,8 +24,7 @@ namespace s4u { * * This class is an interface to the simulation engine. */ -XBT_PUBLIC_CLASS Engine -{ +class XBT_PUBLIC Engine { public: /** Constructor, taking the command line parameters of your main function */ Engine(int* argc, char** argv); @@ -47,7 +46,7 @@ public: /** Registers a function as the default main function of actors * * It will be used as fallback when the function requested from the deployment file was not registered. - * It is used for trace-based simulations (see examples/msg/actions). + * It is used for trace-based simulations (see examples/s4u/replay-comms and similar). */ void registerDefault(int (*code)(int, char**)); @@ -56,17 +55,27 @@ public: protected: friend s4u::Host; + friend s4u::Storage; void addHost(std::string name, simgrid::s4u::Host * host); void delHost(std::string name); + void addStorage(std::string name, simgrid::s4u::Storage * storage); + void delStorage(std::string name); public: simgrid::s4u::Host* hostByName(std::string name); simgrid::s4u::Host* hostByNameOrNull(std::string name); + simgrid::s4u::Storage* storageByName(std::string name); + simgrid::s4u::Storage* storageByNameOrNull(std::string name); + size_t getHostCount(); void getHostList(std::vector * whereTo); - std::vector getHostList(); + std::vector getAllHosts(); + size_t getLinkCount(); void getLinkList(std::vector * list); + std::vector getAllLinks(); + + std::vector getAllStorages(); /** @brief Run the simulation */ void run(); @@ -128,16 +137,16 @@ private: /** Callback fired when the platform is created (ie, the xml file parsed), * right before the actual simulation starts. */ -extern XBT_PUBLIC(xbt::signal) onPlatformCreated; +extern XBT_PUBLIC xbt::signal onPlatformCreated; -/** Callback fired when the main simulation loop ends, just before MSG_run (or similar) ends */ -extern XBT_PUBLIC(xbt::signal) onSimulationEnd; +/** Callback fired when the main simulation loop ends, just before the end of Engine::run() */ +extern XBT_PUBLIC xbt::signal onSimulationEnd; /** Callback fired when the time jumps into the future */ -extern XBT_PUBLIC(xbt::signal) onTimeAdvance; +extern XBT_PUBLIC xbt::signal onTimeAdvance; /** Callback fired when the time cannot jump because of inter-actors deadlock */ -extern XBT_PUBLIC(xbt::signal) onDeadlock; +extern XBT_PUBLIC xbt::signal onDeadlock; template XBT_PRIVATE void netzoneByTypeRecursive(s4u::NetZone* current, std::vector* whereto) {