Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "cast once for all at surf level and not in the APIs"
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 30 Mar 2017 10:35:31 +0000 (12:35 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 30 Mar 2017 10:35:31 +0000 (12:35 +0200)
This reverts commit 14696475e1a6145501ae0f9d6104a82ab2ffa64d.

include/simgrid/forward.h
src/include/surf/surf.h
src/msg/msg_io.cpp
src/s4u/s4u_storage.cpp

index 5081b05..94f5465 100644 (file)
@@ -35,7 +35,6 @@ namespace simgrid {
     class Cpu;
     class LinkImpl;
     class HostImpl;
-    class Storage;
   }
   namespace trace_mgr {
     class trace;
index 6cf5b49..586a2dd 100644 (file)
@@ -52,7 +52,6 @@ typedef simgrid::surf::CpuModel surf_CpuModel;
 typedef simgrid::surf::Cpu surf_Cpu;
 typedef simgrid::surf::HostModel surf_HostModel;
 typedef simgrid::surf::NetworkModel surf_NetworkModel;
-typedef simgrid::surf::Storage surf_Storage;
 typedef simgrid::surf::StorageModel surf_StorageModel;
 typedef simgrid::surf::Resource surf_Resource;
 typedef simgrid::surf::HostImpl surf_Host;
@@ -65,7 +64,6 @@ typedef struct surf_CpuModel surf_CpuModel;
 typedef struct surf_Cpu surf_Cpu;
 typedef struct surf_HostModel surf_HostModel;
 typedef struct surf_NetworkModel surf_NetworkModel;
-typedef struct surf_Storage surf_Storage;
 typedef struct surf_StorageModel surf_StorageModel;
 typedef struct surf_Resource surf_Resource;
 typedef struct surf_Host surf_Host;
@@ -84,7 +82,6 @@ typedef surf_CpuModel *surf_cpu_model_t;
 typedef surf_HostModel *surf_host_model_t;
 typedef surf_NetworkModel *surf_network_model_t;
 typedef surf_StorageModel *surf_storage_model_t;
-typedef surf_Storage* surf_storage_t;
 
 typedef xbt_dictelm_t surf_resource_t;
 
@@ -117,9 +114,8 @@ XBT_PUBLIC(void) model_help(const char *category, s_surf_model_description_t * t
 /* Generic model object */
 /***************************/
 
-static inline surf_storage_t surf_storage_resource_priv(const void* storage)
-{
-  return (surf_storage_t)xbt_lib_get_level((xbt_dictelm_t)storage, SURF_STORAGE_LEVEL);
+static inline void *surf_storage_resource_priv(const void *storage){
+  return (void*)xbt_lib_get_level((xbt_dictelm_t)storage, SURF_STORAGE_LEVEL);
 }
 
 static inline void *surf_storage_resource_by_name(const char *name){
index 3b06812..a013379 100644 (file)
@@ -587,7 +587,8 @@ void *MSG_storage_get_data(msg_storage_t storage)
  */
 xbt_dict_t MSG_storage_get_content(msg_storage_t storage)
 {
-  std::map<std::string, sg_size_t*>* content = surf_storage_resource_priv(storage)->getContent();
+  std::map<std::string, sg_size_t*>* content =
+      static_cast<simgrid::surf::Storage*>(surf_storage_resource_priv(storage))->getContent();
   xbt_dict_t content_dict = xbt_dict_new_homogeneous(nullptr);
 
   for (auto entry : *content) {
index 952ec8d..e816d0d 100644 (file)
@@ -88,7 +88,8 @@ void Storage::setProperty(const char* key, char* value)
 
 std::map<std::string, sg_size_t*>* Storage::content()
 {
-  return simgrid::simix::kernelImmediate([this] { return surf_storage_resource_priv(this->pimpl_)->getContent(); });
+  return simgrid::simix::kernelImmediate(
+      [this] { return static_cast<simgrid::surf::Storage*>(surf_storage_resource_priv(this->pimpl_))->getContent(); });
 }
 
 std::unordered_map<std::string, Storage*>* Storage::allStorages()