Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix leaks and invalid read
[simgrid.git] / src / surf / storage_n11.hpp
index 2c1c822..93f4f3a 100644 (file)
@@ -1,3 +1,9 @@
+/* Copyright (c) 2013-2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
 #include "storage_interface.hpp"
 
 #ifndef STORAGE_N11_HPP_
@@ -13,14 +19,14 @@ typedef StorageN11Model *StorageN11ModelPtr;
 class StorageN11;
 typedef StorageN11 *StorageN11Ptr;
 
-class StorageN11Lmm;
-typedef StorageN11Lmm *StorageN11LmmPtr;
+class StorageN11;
+typedef StorageN11 *StorageN11Ptr;
 
 class StorageN11Action;
 typedef StorageN11Action *StorageN11ActionPtr;
 
-class StorageN11ActionLmm;
-typedef StorageN11ActionLmm *StorageN11ActionLmmPtr;
+class StorageN11Action;
+typedef StorageN11Action *StorageN11ActionPtr;
 
 
 /*********
@@ -32,7 +38,7 @@ public:
   StorageN11Model();
   ~StorageN11Model();
   StoragePtr createResource(const char* id, const char* type_id,
-                  const char* content_name, const char* content_type, xbt_dict_t properties);
+                  const char* content_name, const char* content_type, xbt_dict_t properties, const char* attach);
   double shareResources(double now);
   void updateActionsState(double now, double delta);
 };
@@ -41,17 +47,15 @@ public:
  * Resource *
  ************/
 
-class StorageN11Lmm : public StorageLmm {
+class StorageN11 : public Storage {
 public:
-  StorageN11Lmm(StorageModelPtr model, const char* name, xbt_dict_t properties,
+  StorageN11(StorageModelPtr model, const char* name, xbt_dict_t properties,
                     lmm_system_t maxminSystem, double bread, double bwrite, double bconnection,
-                    const char* type_id, char *content_name, char *content_type, sg_size_t size);
+                    const char* type_id, char *content_name, char *content_type, sg_size_t size, char *attach);
 
   StorageActionPtr open(const char* mount, const char* path);
   StorageActionPtr close(surf_file_t fd);
   StorageActionPtr ls(const char *path);
-  xbt_dict_t getContent();
-  sg_size_t getSize();
   StorageActionPtr read(surf_file_t fd, sg_size_t size);//FIXME:why we have a useless param ptr ??
   StorageActionPtr write(surf_file_t fd, sg_size_t size);//FIXME:why we have a useless param ptr ??
   void rename(const char *src, const char *dest);
@@ -64,10 +68,10 @@ public:
  * Action *
  **********/
 
-class StorageN11ActionLmm : public StorageActionLmm {
+class StorageN11Action : public StorageAction {
 public:
-       StorageN11ActionLmm() {}; //FIXME:REMOVE
-  StorageN11ActionLmm(ModelPtr model, double cost, bool failed, StorageLmmPtr storage, e_surf_action_storage_type_t type);
+       StorageN11Action() {}; //FIXME:REMOVE
+  StorageN11Action(ModelPtr model, double cost, bool failed, StoragePtr storage, e_surf_action_storage_type_t type);
   void suspend();
   int unref();
   void cancel();