Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[s4u] Actor::forPid()
[simgrid.git] / include / simgrid / s4u / storage.hpp
index 193a6d2..4504bb8 100644 (file)
@@ -16,15 +16,18 @@ namespace simgrid {
 namespace s4u {
 
 XBT_PUBLIC_CLASS Storage {
+  friend s4u::Engine;
+
 private:
   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);
   const char *name();
-  sg_size_t size_free();
-  sg_size_t size_used();
+  sg_size_t sizeFree();
+  sg_size_t sizeUsed();
   /** Retrieve the total amount of space of this storage element */
   sg_size_t size();
 
@@ -39,18 +42,17 @@ XBT_PUBLIC(const char *) MSG_storage_get_host(msg_storage_t storage);
    */
 protected:
   smx_storage_t inferior();
-private:
-  static boost::unordered_map<std::string, Storage *> *storages;
-  std::string p_name;
-  smx_storage_t p_inferior;
-
 
 public:
-  void set_userdata(void *data) {p_userdata = data;}
-  void *userdata() {return p_userdata;}
+  void setUserdata(void *data) {userdata_ = data;}
+  void *userdata() {return userdata_;}
+  
 private:
-  void *p_userdata = NULL;
+  static boost::unordered_map<std::string, Storage *> *storages_;
 
+  std::string name_;
+  smx_storage_t pimpl_ = nullptr;
+  void *userdata_ = nullptr;
 };
 
 } /* namespace s4u */