X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/51123d8e4bf01f354aef77ffa4427d2388d9bb98..1ff58d7a8f46e07cdc902f96b99bb47d0a077932:/src/s4u/s4u_engine.cpp diff --git a/src/s4u/s4u_engine.cpp b/src/s4u/s4u_engine.cpp index e49b59db09..542eb68eb9 100644 --- a/src/s4u/s4u_engine.cpp +++ b/src/s4u/s4u_engine.cpp @@ -94,6 +94,7 @@ Engine::getHostList(std::vector* list) for (auto const& kv : pimpl->hosts_) list->push_back(kv.second); } + /** @brief Returns the list of all hosts found in the platform */ std::vector Engine::getAllHosts() { @@ -102,29 +103,64 @@ std::vector Engine::getAllHosts() res.push_back(kv.second); return res; } + void Engine::addHost(std::string name, simgrid::s4u::Host* host) { pimpl->hosts_[name] = host; } + void Engine::delHost(std::string name) { pimpl->hosts_.erase(name); } + simgrid::s4u::Host* Engine::hostByName(std::string name) { return pimpl->hosts_.at(name); // Will raise a std::out_of_range if the host does not exist } + simgrid::s4u::Host* Engine::hostByNameOrNull(std::string name) { auto host = pimpl->hosts_.find(name); return host == pimpl->hosts_.end() ? nullptr : host->second; } +/** @brief Returns the list of all storages found in the platform */ +std::vector Engine::getAllStorages() +{ + std::vector res; + for (auto const& kv : pimpl->storages_) + res.push_back(kv.second); + return res; +} + +simgrid::s4u::Storage* Engine::storageByName(std::string name) +{ + return pimpl->storages_.at(name); // Will raise a std::out_of_range if the host does not exist +} + +simgrid::s4u::Storage* Engine::storageByNameOrNull(std::string name) +{ + auto storage = pimpl->storages_.find(name); + return storage == pimpl->storages_.end() ? nullptr : storage->second; +} + +void Engine::addStorage(std::string name, simgrid::s4u::Storage* storage) +{ + pimpl->storages_[name] = storage; +} + +void Engine::delStorage(std::string name) +{ + pimpl->storages_.erase(name); +} + /** @brief Returns the amount of links in the platform */ size_t Engine::getLinkCount() { return simgrid::surf::LinkImpl::linksCount(); } + /** @brief Fills the passed list with all links found in the platform * * @deprecated. Prefer Engine::getAllLinks() */ @@ -133,6 +169,7 @@ Engine::getLinkList(std::vector* list) { simgrid::surf::LinkImpl::linksList(list); } + /** @brief Returns the list of all links found in the platform */ std::vector Engine::getAllLinks() {