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();