X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/16bbb8a8212497d9c44c81333ed2c0e689e0c5af..4fd0a2b6cf055692f936e29294496d14a6091ff1:/include/simgrid/s4u/engine.hpp diff --git a/include/simgrid/s4u/engine.hpp b/include/simgrid/s4u/engine.hpp index e5bc4d2ba0..bee4afa5c0 100644 --- a/include/simgrid/s4u/engine.hpp +++ b/include/simgrid/s4u/engine.hpp @@ -21,6 +21,9 @@ public: /** Constructor, taking the command line parameters of your main function */ Engine(int *argc, char **argv); + /** Finalize the default engine and all its dependencies */ + static void shutdown(); + /** @brief Load a platform file describing the environment * * The environment is either a XML file following the simgrid.dtd formalism, or a lua file. @@ -29,14 +32,14 @@ public: void loadPlatform(const char *platf); /** Registers the main function of an actor that will be launched from the deployment file */ - void register_function(const char*name, int (*code)(int,char**)); + void registerFunction(const char*name, int (*code)(int,char**)); /** 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). */ - void register_default(int (*code)(int,char**)); + void registerDefault(int (*code)(int,char**)); /** @brief Load a deployment file and launch the actors that it contains */ void loadDeployment(const char *deploy); @@ -47,7 +50,17 @@ public: /** @brief Retrieve the simulation time */ static double getClock(); + /** @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); + +private: + static s4u::Engine *instance_; }; -}} // namespace simgrid::sgo +}} // namespace simgrid::s4u #endif /* SIMGRID_S4U_ENGINE_HPP */