Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
start to mess up with storage
[simgrid.git] / include / simgrid / s4u / storage.hpp
index e67a1a9..4297f7c 100644 (file)
@@ -7,18 +7,24 @@
 #ifndef INCLUDE_SIMGRID_S4U_STORAGE_HPP_
 #define INCLUDE_SIMGRID_S4U_STORAGE_HPP_
 
+#include <string>
+
 #include <boost/unordered_map.hpp>
-#include "xbt/base.h"
-#include "simgrid/simix.h"
+
+#include <xbt/base.h>
+
+#include <simgrid/simix.h>
 #include <simgrid/s4u/forward.hpp>
 
 namespace simgrid {
 namespace s4u {
 
 XBT_PUBLIC_CLASS Storage {
-private:
+  friend s4u::Engine;
+
   Storage(std::string name, smx_storage_t inferior);
   virtual ~Storage();
+
 public:
   /** Retrieve a Storage by its name. It must exist in the platform file */
   static Storage &byName(const char* name);
@@ -39,20 +45,18 @@ XBT_PUBLIC(const char *) MSG_storage_get_host(msg_storage_t storage);
    */
 protected:
   smx_storage_t inferior();
-private:
-  friend s4u::Engine;
-
-  static boost::unordered_map<std::string, Storage *> *storages_;
-  std::string name_;
-  smx_storage_t inferior_;
-
 
 public:
   void setUserdata(void *data) {userdata_ = data;}
   void *userdata() {return userdata_;}
+  
 private:
-  void *userdata_ = NULL;
+  static boost::unordered_map<std::string, Storage *> *storages_;
 
+  std::string name_;
+  size_t size_;
+  smx_storage_t pimpl_ = nullptr;
+  void *userdata_ = nullptr;
 };
 
 } /* namespace s4u */