Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Don't mix public/private data members
[simgrid.git] / src / s4u / s4u_Storage.cpp
index 0be7985..dfd02fd 100644 (file)
@@ -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,9 +11,8 @@
 #include "src/surf/StorageImpl.hpp"
 
 namespace simgrid {
-namespace xbt {
-template class Extendable<s4u::Storage>;
-} // namespace xbt
+
+template class xbt::Extendable<s4u::Storage>;
 
 namespace s4u {
 
@@ -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<std::string, std::string>* Storage::get_properties()
+const std::unordered_map<std::string, std::string>* Storage::get_properties() const
 {
-  return 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)
 {
-  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());
 }
 
@@ -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<std::string, std::string>* props = storage->get_properties();
+  const std::unordered_map<std::string, std::string>* 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();