Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
new function: Engine::netcardList()
[simgrid.git] / src / s4u / s4u_engine.cpp
index 0f8798d..6e37df0 100644 (file)
@@ -111,5 +111,19 @@ NetZone* Engine::netzoneByNameOrNull(const char* name)
   return netzoneByNameRecursive(netRoot(), name);
 }
 
+/** @brief Retrieve the netcard of the given name (or nullptr if not found) */
+simgrid::kernel::routing::NetCard* Engine::netcardByNameOrNull(const char* name)
+{
+  return static_cast<simgrid::kernel::routing::NetCard*>(xbt_dict_get_or_null(netcards_dict, name));
+}
+void Engine::netcardList(std::vector<simgrid::kernel::routing::NetCard*>* list)
+{
+  xbt_lib_cursor_t cursor = nullptr;
+  char* key;
+  void* data;
+  xbt_dict_foreach (netcards_dict, cursor, key, data) {
+    list->push_back(static_cast<simgrid::kernel::routing::NetCard*>(data));
+  }
+}
 }
 }