Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove SIMIX wrappers
[simgrid.git] / src / simgrid / host.cpp
index 3d1a48a..19330ae 100644 (file)
@@ -12,6 +12,7 @@
 #include "surf/surf.h" // routing_get_network_element_type FIXME:killme
 
 #include "src/simix/smx_private.hpp"
+#include "src/surf/host_interface.hpp"
 
 size_t sg_host_count()
 {
@@ -215,14 +216,14 @@ xbt_swag_t Host::getProcessList()
 double Host::getCurrentPowerPeak()
 {
   return simgrid::simix::kernel(
-    std::bind(SIMIX_host_get_current_power_peak, this));
+    std::bind(surf_host_get_current_power_peak, this));
 }
 
 /** Get one power peak (in flops/s) of a host at a given pstate */
 double Host::getPowerPeakAt(int pstate_index)
 {
   return simgrid::simix::kernel(
-    std::bind(SIMIX_host_get_power_peak_at, this, pstate_index));
+    std::bind(surf_host_get_power_peak_at, this, pstate_index));
 }
 
 /** @brief Get the speed of the cpu associated to a host */
@@ -264,12 +265,16 @@ int Host::getPState()
 
 void Host::getParams(vm_params_t params)
 {
-  simgrid::simix::kernel(std::bind(SIMIX_host_get_params, this, params));
+  simgrid::simix::kernel([&]() {
+    this->extension<simgrid::surf::Host>()->getParams(params);
+  });
 }
 
 void Host::setParams(vm_params_t params)
 {
-  simgrid::simix::kernel(std::bind(SIMIX_host_set_params, this, params));
+  simgrid::simix::kernel([&]() {
+    this->extension<simgrid::surf::Host>()->setParams(params);
+  });
 }
 
 /**
@@ -279,9 +284,9 @@ void Host::setParams(vm_params_t params)
  */
 xbt_dict_t Host::getMountedStorageList()
 {
-  return simgrid::simix::kernel(std::bind(
-    SIMIX_host_get_mounted_storage_list, this
-  ));
+  return simgrid::simix::kernel([&] {
+    return this->extension<simgrid::surf::Host>()->getMountedStorageList();
+  });
 }
 
 /**
@@ -291,9 +296,9 @@ xbt_dict_t Host::getMountedStorageList()
  */
 xbt_dynar_t Host::getAttachedStorageList()
 {
-  return simgrid::simix::kernel(std::bind(
-    SIMIX_host_get_attached_storage_list, this
-  ));
+  return simgrid::simix::kernel([&] {
+    return this->extension<simgrid::surf::Host>()->getAttachedStorageList();
+  });
 }
 
 }