X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fa7fba6f03cb93b8ed8f328dd578e97f81f5e20f..a059f6ed850a1d54f10c62e7bd001cc6ebf788ec:/include/simgrid/s4u/Engine.hpp diff --git a/include/simgrid/s4u/Engine.hpp b/include/simgrid/s4u/Engine.hpp index 6451084dcc..93b6531651 100644 --- a/include/simgrid/s4u/Engine.hpp +++ b/include/simgrid/s4u/Engine.hpp @@ -27,7 +27,7 @@ namespace s4u { class XBT_PUBLIC Engine { public: /** Constructor, taking the command line parameters of your main function */ - Engine(int* argc, char** argv); + explicit Engine(int* argc, char** argv); /** Currently, only one instance is allowed to exist. This is why you can't copy or move it */ Engine(const Engine&) = delete; Engine(Engine&&) = delete; @@ -85,11 +85,15 @@ public: protected: friend s4u::Host; + friend s4u::Link; friend s4u::Storage; friend kernel::routing::NetPoint; friend kernel::routing::NetZoneImpl; + friend kernel::resource::LinkImpl; void host_register(std::string name, simgrid::s4u::Host* host); void host_unregister(std::string name); + void link_register(std::string name, simgrid::s4u::Link* link); + void link_unregister(std::string name); void storage_register(std::string name, simgrid::s4u::Storage* storage); void storage_unregister(std::string name); void netpoint_register(simgrid::kernel::routing::NetPoint* card); @@ -104,6 +108,13 @@ public: size_t get_link_count(); std::vector get_all_links(); + std::vector get_filtered_links(std::function filter); + simgrid::s4u::Link* link_by_name(std::string name); + simgrid::s4u::Link* link_by_name_or_null(std::string name); + + size_t get_actor_count(); + std::vector get_all_actors(); + std::vector get_filtered_actors(std::function filter); size_t get_storage_count(); std::vector get_all_storages();