Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make s4u::File extendable
[simgrid.git] / include / simgrid / plugins / file_system.h
index feb2a74..179ab9f 100644 (file)
@@ -22,7 +22,7 @@
 ////////////////
 typedef sg_file_t msg_file_t; // MSG backwards compatibility
 
-SG_BEGIN_DECL()
+SG_BEGIN_DECL
 XBT_PUBLIC void sg_storage_file_system_init();
 XBT_PUBLIC sg_file_t sg_file_open(const char* fullpath, void* data);
 XBT_PUBLIC sg_size_t sg_file_read(sg_file_t fd, sg_size_t size);
@@ -77,7 +77,7 @@ XBT_PUBLIC xbt_dict_t sg_host_get_storage_content(sg_host_t host);
 
 #define MSG_host_get_storage_content(st) sg_host_get_storage_content(st)
 
-SG_END_DECL()
+SG_END_DECL
 
 // C++ interface
 //////////////////
@@ -93,9 +93,9 @@ namespace s4u {
  *
  * They are located on @ref simgrid::s4u::Storage that are accessed from a given @ref simgrid::s4u::Host through
  * mountpoints.
- * For now, you cannot change the mountpoints programatically, and must declare them from your platform file.
+ * For now, you cannot change the mountpoints programmatically, and must declare them from your platform file.
  */
-class XBT_PUBLIC File {
+class XBT_PUBLIC File : public xbt::Extendable<File> {
 public:
   File(const std::string& fullpath, void* userdata);
   File(const std::string& fullpath, sg_host_t host, void* userdata);
@@ -113,9 +113,9 @@ public:
   sg_size_t write(sg_size_t size, int write_inside=0);
 
   /** Allows to store user data on that host */
-  void set_userdata(void* data) { userdata_ = data; }
+  XBT_ATTRIB_DEPRECATED_v329("Please use set_data()") void set_userdata(void* data) { set_data(data); }
   /** Retrieves the previously stored data */
-  void* get_userdata() { return userdata_; }
+  XBT_ATTRIB_DEPRECATED_v329("Please use get_data()") void* get_userdata() { return get_data(); }
 
   sg_size_t size();
   void seek(sg_offset_t pos);             /** Sets the file head to the given position. */
@@ -140,7 +140,6 @@ private:
   std::string path_;
   std::string fullpath_;
   sg_size_t current_position_ = SEEK_SET;
-  void* userdata_             = nullptr;
 };
 
 class XBT_PUBLIC FileSystemDiskExt {