X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7f4f03348bd07609e258eb3b545bdafc2c881847..a844d6ba059b98ad6a5317e85a9c69402353b0a9:/include/simgrid/s4u/storage.hpp diff --git a/include/simgrid/s4u/storage.hpp b/include/simgrid/s4u/storage.hpp index b0b3335372..7e9add9612 100644 --- a/include/simgrid/s4u/storage.hpp +++ b/include/simgrid/s4u/storage.hpp @@ -7,27 +7,35 @@ #ifndef INCLUDE_SIMGRID_S4U_STORAGE_HPP_ #define INCLUDE_SIMGRID_S4U_STORAGE_HPP_ +#include + #include -#include "xbt/base.h" -#include "simgrid/simix.h" + +#include + +#include +#include namespace simgrid { namespace s4u { XBT_PUBLIC_CLASS Storage { + friend s4u::Engine; + private: - Storage(std::string name, smx_storage_t inferior); - virtual ~Storage(); + 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(); - /** Retrieve the total amount of space of this storage element */ - sg_size_t size(); - - /* TODO: missing API: + /** 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 sizeFree(); + sg_size_t sizeUsed(); + /** Retrieve the total amount of space of this storage element */ + sg_size_t size(); + + /* TODO: missing API: XBT_PUBLIC(xbt_dict_t) MSG_storage_get_properties(msg_storage_t storage); XBT_PUBLIC(void) MSG_storage_set_property_value(msg_storage_t storage, const char *name, char *value,void_f_pvoid_t free_ctn); XBT_PUBLIC(const char *)MSG_storage_get_property_value(msg_storage_t storage, const char *name); @@ -35,21 +43,20 @@ XBT_PUBLIC(xbt_dynar_t) MSG_storages_as_dynar(void); XBT_PUBLIC(xbt_dict_t) MSG_storage_get_content(msg_storage_t storage); XBT_PUBLIC(msg_error_t) MSG_storage_file_move(msg_file_t fd, msg_host_t dest, char* mount, char* fullname); XBT_PUBLIC(const char *) MSG_storage_get_host(msg_storage_t storage); - */ + */ protected: - smx_storage_t inferior(); -private: - static boost::unordered_map *storages; - std::string p_name; - smx_storage_t p_inferior; - + smx_storage_t 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 *storages_; + std::string name_; + smx_storage_t pimpl_ = nullptr; + void *userdata_ = nullptr; }; } /* namespace s4u */