Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge pull request #256 from Flamefire/master
[simgrid.git] / teshsuite / s4u / storage_client_server / storage_client_server.cpp
index 1158fde..01cb653 100644 (file)
@@ -4,6 +4,7 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "simgrid/s4u.hpp"
+#include "src/plugins/file_system/FileSystem.hpp"
 #include <string>
 #include <xbt/string.hpp>
 
@@ -79,23 +80,22 @@ static void get_set_storage_data(const std::string& storage_name)
   XBT_INFO("*** GET/SET DATA for storage element: %s ***", storage_name.c_str());
   simgrid::s4u::Storage* storage = simgrid::s4u::Storage::byName(storage_name);
 
-  char* data = static_cast<char*>(storage->getUserdata());
-  XBT_INFO("Get data: '%s'", data);
-  storage->setUserdata(xbt_strdup("Some data"));
-  data = static_cast<char*>(storage->getUserdata());
-  XBT_INFO("\tSet and get data: '%s'", data);
-  xbt_free(data);
+  std::string* data = static_cast<std::string*>(storage->getUserdata());
+  XBT_INFO("Get data: '%s'", data ? data->c_str() : "No User Data");
+  storage->setUserdata(new std::string("Some data"));
+  data = static_cast<std::string*>(storage->getUserdata());
+  XBT_INFO("\tSet and get data: '%s'", data->c_str());
+  delete data;
 }
 
 static void dump_platform_storages()
 {
-  std::map<std::string, simgrid::s4u::Storage*>* storages = simgrid::s4u::allStorages();
+  std::vector<simgrid::s4u::Storage*> storages = simgrid::s4u::Engine::getInstance()->getAllStorages();
 
-  for (auto const& storage : *storages) {
-    XBT_INFO("Storage %s is attached to %s", storage.first.c_str(), storage.second->getHost()->getCname());
-    storage.second->setProperty("other usage", "gpfs");
+  for (auto const& s : storages) {
+    XBT_INFO("Storage %s is attached to %s", s->getCname(), s->getHost()->getCname());
+    s->setProperty("other usage", "gpfs");
   }
-  delete storages;
 }
 
 static void storage_info(simgrid::s4u::Host* host)