Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Uniformize get_impl(): const attribute, and return raw pointer.
[simgrid.git] / include / simgrid / s4u / Storage.hpp
index 752c289..09c09e2 100644 (file)
@@ -25,23 +25,23 @@ namespace s4u {
  * only computes the time taken by the corresponding data movement.
  */
 
-class XBT_PUBLIC Storage : public simgrid::xbt::Extendable<Storage> {
-  friend simgrid::s4u::Engine;
-  friend simgrid::s4u::Io;
-  friend simgrid::surf::StorageImpl;
+class XBT_PUBLIC Storage : public xbt::Extendable<Storage> {
+  friend Engine;
+  friend Io;
+  friend kernel::resource::StorageImpl;
 
 public:
-  explicit Storage(std::string name, surf::StorageImpl * pimpl);
+  explicit Storage(const std::string& name, kernel::resource::StorageImpl* pimpl);
 
 protected:
   virtual ~Storage() = default;
 public:
   /** @brief Callback signal fired when a new Storage is created */
-  static simgrid::xbt::signal<void(s4u::Storage&)> on_creation;
+  static xbt::signal<void(Storage&)> on_creation;
   /** @brief Callback signal fired when a Storage is destroyed */
-  static simgrid::xbt::signal<void(s4u::Storage&)> on_destruction;
+  static xbt::signal<void(Storage const&)> on_destruction;
   /** @brief Callback signal fired when a Storage's state changes */
-  static simgrid::xbt::signal<void(s4u::Storage&)> on_state_change;
+  static xbt::signal<void(Storage const&)> on_state_change;
 
   /** Retrieve a Storage by its name. It must exist in the platform file */
   static Storage* by_name(const std::string& name);
@@ -58,7 +58,7 @@ public:
 
   std::unordered_map<std::string, std::string>* get_properties();
   const char* get_property(const std::string& key);
-  void set_property(const std::string&, std::string value);
+  void set_property(const std::string&, const std::string& value);
 
   void set_data(void* data) { userdata_ = data; }
   void* get_data() { return userdata_; }
@@ -70,56 +70,16 @@ public:
 
   IoPtr write_async(sg_size_t size);
   sg_size_t write(sg_size_t size);
-  surf::StorageImpl* get_impl() { return pimpl_; }
-
-  // Deprecated functions
-#ifndef DOXYGEN
-  /** @deprecated Storage::by_name() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::by_name()") Storage* byName(std::string name)
-  {
-    return by_name(name);
-  }
-  /** @deprecated Storage::get_name() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_name()") std::string const& getName() const { return get_name(); }
-  /** @deprecated Storage::get_cname() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_cname()") const char* getCname() const { return get_cname(); }
-  /** @deprecated Storage::get_type() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_type()") const char* getType() { return get_type(); }
-  /** @deprecated Storage::get_host() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_host()") Host* getHost() { return get_host(); }
-  /** @deprecated Storage::get_properties() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_properties()") std::map<std::string, std::string>* getProperties()
-  {
-    std::map<std::string, std::string>* res             = new std::map<std::string, std::string>();
-    std::unordered_map<std::string, std::string>* props = get_properties();
-    for (auto const& kv : *props)
-      res->insert(kv);
-    return res;
-  }
-  /** @deprecated Storage::get_property() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_property()") const char* getProperty(const char* key)
-  {
-    return get_property(key);
-  }
-  /** @deprecated Storage::set_property() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::set_property()") void setProperty(std::string key, std::string value)
-  {
-    set_property(key, value);
-  }
-  /** @deprecated Storage::set_data() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::set_data()") void setUserdata(void* data) { set_data(data); }
-  /** @deprecated Storage::get_data() */
-  XBT_ATTRIB_DEPRECATED_v323("Please use Storage::get_data()") void* getUserdata() { return get_data(); }
-#endif
+  kernel::resource::StorageImpl* get_impl() const { return pimpl_; }
 
 private:
-  Host* attached_to_              = nullptr;
-  surf::StorageImpl* const pimpl_ = nullptr;
+  Host* attached_to_ = nullptr;
+  kernel::resource::StorageImpl* const pimpl_;
   std::string name_;
   void* userdata_ = nullptr;
 };
 
-} /* namespace s4u */
-} /* namespace simgrid */
+} // namespace s4u
+} // namespace simgrid
 
 #endif /* INCLUDE_SIMGRID_S4U_STORAGE_HPP_ */