From 3d5008e81ac9ae0a0a94334202996cf7249e97e9 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Fri, 8 Jun 2018 09:33:33 +0200 Subject: [PATCH] extra cleanups in Storage --- include/simgrid/s4u/Storage.hpp | 14 ++++--- src/s4u/s4u_Storage.cpp | 38 +++++++------------ .../storage_client_server.cpp | 2 +- 3 files changed, 24 insertions(+), 30 deletions(-) diff --git a/include/simgrid/s4u/Storage.hpp b/include/simgrid/s4u/Storage.hpp index 6a9704f9f7..ffb98ce8ea 100644 --- a/include/simgrid/s4u/Storage.hpp +++ b/include/simgrid/s4u/Storage.hpp @@ -12,7 +12,6 @@ #include #include -#include namespace simgrid { namespace xbt { @@ -21,7 +20,7 @@ extern template class XBT_PUBLIC Extendable; namespace s4u { XBT_ATTRIB_DEPRECATED_v322( - "simgrid::s4u::getStorageList() is deprecated in favor of Engine::getAllStorages(). Please switch before v3.22") + "simgrid::s4u::getStorageList() is deprecated in favor of Engine::get_all_storages(). Please switch before v3.22") XBT_PUBLIC void getStorageList(std::map* whereTo); class XBT_PUBLIC Storage : public simgrid::xbt::Extendable { @@ -44,17 +43,18 @@ public: /** Retrieve a Storage by its name. It must exist in the platform file */ static Storage* by_name(std::string name); + static Storage* by_name_or_null(std::string name); /** @brief Retrieves the name of that storage as a C++ string */ - std::string const& get_name() const; + std::string const& get_name() const { return name_; } /** @brief Retrieves the name of that storage as a C string */ - const char* get_cname() const; + const char* get_cname() const { return name_.c_str(); } const char* get_type(); Host* get_host() { return attached_to_; }; void set_host(Host* host) { attached_to_ = host; } - std::map* getProperties(); + std::map* get_properties(); const char* get_property(std::string key); void set_property(std::string, std::string value); @@ -74,6 +74,10 @@ public: XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_cname()") const char* getCname() const { return get_cname(); } XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_type()") const char* getType() { return get_type(); } XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_host()") Host* getHost() { return get_host(); } + XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_properties()") std::map* getProperties() + { + return get_properties(); + } XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_property()") const char* getProperty(const char* key) { return get_property(key); diff --git a/src/s4u/s4u_Storage.cpp b/src/s4u/s4u_Storage.cpp index cf8b3ca75f..1e86878d47 100644 --- a/src/s4u/s4u_Storage.cpp +++ b/src/s4u/s4u_Storage.cpp @@ -9,9 +9,6 @@ #include "simgrid/storage.h" #include "src/surf/StorageImpl.hpp" -#include -#include - namespace simgrid { namespace xbt { template class Extendable; @@ -19,11 +16,9 @@ template class Extendable; namespace s4u { -void getStorageList(std::map* whereTo) -{ - for (auto const& s : simgrid::s4u::Engine::get_instance()->get_all_storages()) - whereTo->insert({s->get_name(), s}); -} +simgrid::xbt::signal Storage::on_creation; +simgrid::xbt::signal Storage::on_destruction; +simgrid::xbt::signal Storage::on_state_change; Storage::Storage(std::string name, surf::StorageImpl* pimpl) : pimpl_(pimpl), name_(name) { @@ -32,17 +27,12 @@ Storage::Storage(std::string name, surf::StorageImpl* pimpl) : pimpl_(pimpl), na Storage* Storage::by_name(std::string name) { - return Engine::get_instance()->storage_by_name_or_null(name); -} - -const std::string& Storage::get_name() const -{ - return name_; + return Engine::get_instance()->storage_by_name(name); } -const char* Storage::get_cname() const +Storage* Storage::by_name_or_null(std::string name) { - return name_.c_str(); + return Engine::get_instance()->storage_by_name_or_null(name); } const char* Storage::get_type() @@ -50,7 +40,7 @@ const char* Storage::get_type() return pimpl_->typeId_.c_str(); } -std::map* Storage::getProperties() +std::map* Storage::get_properties() { return simgrid::simix::simcall([this] { return pimpl_->get_properties(); }); } @@ -75,12 +65,12 @@ sg_size_t Storage::write(sg_size_t size) return simcall_storage_write(pimpl_, size); } -/************* - * Callbacks * - *************/ -simgrid::xbt::signal Storage::on_creation; -simgrid::xbt::signal Storage::on_destruction; -simgrid::xbt::signal Storage::on_state_change; +// Deprecated functions +void getStorageList(std::map* whereTo) +{ + for (auto const& s : simgrid::s4u::Engine::get_instance()->get_all_storages()) + whereTo->insert({s->get_name(), s}); +} } /* namespace s4u */ } /* namespace simgrid */ @@ -118,7 +108,7 @@ xbt_dict_t sg_storage_get_properties(sg_storage_t storage) { xbt_assert((storage != nullptr), "Invalid parameters (storage is nullptr)"); xbt_dict_t as_dict = xbt_dict_new_homogeneous(xbt_free_f); - std::map* props = storage->getProperties(); + std::map* props = storage->get_properties(); if (props == nullptr) return nullptr; for (auto const& elm : *props) { diff --git a/teshsuite/s4u/storage_client_server/storage_client_server.cpp b/teshsuite/s4u/storage_client_server/storage_client_server.cpp index b91d2cc433..6510ae1315 100644 --- a/teshsuite/s4u/storage_client_server/storage_client_server.cpp +++ b/teshsuite/s4u/storage_client_server/storage_client_server.cpp @@ -13,7 +13,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(storage, "Messages specific for this simulation"); static void display_storage_properties(simgrid::s4u::Storage* storage) { - std::map* props = storage->getProperties(); + std::map* props = storage->get_properties(); if (not props->empty()) { XBT_INFO("\tProperties of mounted storage: %s", storage->get_cname()); -- 2.20.1