X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dc9b8feaddd53842f6204f4f24409b2382393fa9..131ea969cf91c332bd533b7e9d67c729149e9b4d:/src/s4u/s4u_Storage.cpp diff --git a/src/s4u/s4u_Storage.cpp b/src/s4u/s4u_Storage.cpp index 5aaf6ebff5..dfd02fd22d 100644 --- a/src/s4u/s4u_Storage.cpp +++ b/src/s4u/s4u_Storage.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2006-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2006-2020. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -11,19 +11,18 @@ #include "src/surf/StorageImpl.hpp" namespace simgrid { -namespace xbt { -template class Extendable; -} + +template class xbt::Extendable; namespace s4u { -simgrid::xbt::signal Storage::on_creation; -simgrid::xbt::signal Storage::on_destruction; -simgrid::xbt::signal Storage::on_state_change; +xbt::signal Storage::on_creation; +xbt::signal Storage::on_destruction; +xbt::signal Storage::on_state_change; -Storage::Storage(const std::string& name, surf::StorageImpl* pimpl) : pimpl_(pimpl), name_(name) +Storage::Storage(const std::string& name, kernel::resource::StorageImpl* pimpl) : pimpl_(pimpl), name_(name) { - simgrid::s4u::Engine::get_instance()->storage_register(name_, this); + Engine::get_instance()->storage_register(name_, this); } Storage* Storage::by_name(const std::string& name) @@ -36,24 +35,24 @@ Storage* Storage::by_name_or_null(const std::string& name) return Engine::get_instance()->storage_by_name_or_null(name); } -const char* Storage::get_type() +const char* Storage::get_type() const { - return pimpl_->typeId_.c_str(); + return pimpl_->get_type(); } -std::unordered_map* Storage::get_properties() +const std::unordered_map* Storage::get_properties() const { - return simgrid::simix::simcall([this] { return pimpl_->get_properties(); }); + return pimpl_->get_properties(); } -const char* Storage::get_property(const std::string& key) +const char* Storage::get_property(const std::string& key) const { return this->pimpl_->get_property(key); } void Storage::set_property(const std::string& key, const std::string& value) { - simgrid::simix::simcall([this, &key, &value] { this->pimpl_->set_property(key, value); }); + kernel::actor::simcall([this, &key, &value] { this->pimpl_->set_property(key, value); }); } IoPtr Storage::io_init(sg_size_t size, Io::OpType type) @@ -73,7 +72,6 @@ sg_size_t Storage::read(sg_size_t size) IoPtr Storage::write_async(sg_size_t size) { - return IoPtr(io_init(size, Io::OpType::WRITE)->start()); } @@ -82,8 +80,8 @@ sg_size_t Storage::write(sg_size_t size) return IoPtr(io_init(size, Io::OpType::WRITE))->start()->wait()->get_performed_ioops(); } -} /* namespace s4u */ -} /* namespace simgrid */ +} // namespace s4u +} // namespace simgrid /* **************************** Public C interface *************************** */ @@ -97,13 +95,13 @@ sg_size_t Storage::write(sg_size_t size) * * This functions checks whether a storage is a valid pointer or not and return its name. */ -const char* sg_storage_get_name(sg_storage_t storage) +const char* sg_storage_get_name(const_sg_storage_t storage) { xbt_assert((storage != nullptr), "Invalid parameters"); return storage->get_cname(); } -const char* sg_storage_get_host(sg_storage_t storage) +const char* sg_storage_get_host(const_sg_storage_t storage) { xbt_assert((storage != nullptr), "Invalid parameters"); return storage->get_host()->get_cname(); @@ -114,15 +112,15 @@ const char* sg_storage_get_host(sg_storage_t storage) * @param storage a storage * @return a dict containing the properties */ -xbt_dict_t sg_storage_get_properties(sg_storage_t storage) +xbt_dict_t sg_storage_get_properties(const_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::unordered_map* props = storage->get_properties(); + const std::unordered_map* props = storage->get_properties(); if (props == nullptr) return nullptr; for (auto const& elm : *props) { - xbt_dict_set(as_dict, elm.first.c_str(), xbt_strdup(elm.second.c_str()), nullptr); + xbt_dict_set(as_dict, elm.first.c_str(), xbt_strdup(elm.second.c_str())); } return as_dict; } @@ -146,7 +144,7 @@ void sg_storage_set_property_value(sg_storage_t storage, const char* name, const * @param name a property name * @return value of a property (or nullptr if property not set) */ -const char* sg_storage_get_property_value(sg_storage_t storage, const char* name) +const char* sg_storage_get_property_value(const_sg_storage_t storage, const char* name) { return storage->get_property(name); } @@ -173,7 +171,7 @@ xbt_dynar_t sg_storages_as_dynar() return res; } -void* sg_storage_get_data(sg_storage_t storage) +void* sg_storage_get_data(const_sg_storage_t storage) { xbt_assert((storage != nullptr), "Invalid parameters"); return storage->get_data();