Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branches 'master' and 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / src / surf / HostImpl.cpp
index 2408c68..3fd06eb 100644 (file)
@@ -10,8 +10,8 @@
 #include "src/surf/HostImpl.hpp"
 #include "simgrid/sg_config.h"
 
+#include "VirtualMachineImpl.hpp"
 #include "network_interface.hpp"
-#include "virtual_machine.hpp"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_host, surf, "Logging specific to the SURF host module");
 
@@ -35,7 +35,7 @@ namespace surf {
 void HostModel::adjustWeightOfDummyCpuActions()
 {
   /* iterate for all virtual machines */
-  for (VirtualMachine *ws_vm : VirtualMachine::allVms_) {
+  for (VirtualMachineImpl* ws_vm : VirtualMachineImpl::allVms_) {
 
     Cpu* cpu = ws_vm->piface_->pimpl_cpu;
 
@@ -98,23 +98,15 @@ Action* HostModel::executeParallelTask(int host_nb, simgrid::s4u::Host** host_li
 /************
  * Resource *
  ************/
-HostImpl::HostImpl(simgrid::surf::HostModel* model, const char* name, xbt_dynar_t storage)
-    : PropertyHolder(nullptr), storage_(storage)
+HostImpl::HostImpl(s4u::Host* host, xbt_dynar_t storage) : PropertyHolder(nullptr), storage_(storage), piface_(host)
 {
+  piface_->pimpl_ = this;
   params_.ramsize = 0;
 }
 
 /** @brief use destroy() instead of this destructor */
 HostImpl::~HostImpl() = default;
 
-void HostImpl::attach(simgrid::s4u::Host* host)
-{
-  if (piface_ != nullptr)
-    xbt_die("Already attached to host %s", host->name().c_str());
-  host->pimpl_ = this;
-  piface_ = host;
-}
-
 simgrid::surf::Storage *HostImpl::findStorageOnMountList(const char* mount)
 {
   simgrid::surf::Storage *st = nullptr;
@@ -327,9 +319,9 @@ int HostImpl::fileMove(surf_file_t fd, const char* fullpath){
 
 xbt_dynar_t HostImpl::getVms()
 {
-  xbt_dynar_t dyn = xbt_dynar_new(sizeof(simgrid::surf::VirtualMachine*), nullptr);
+  xbt_dynar_t dyn = xbt_dynar_new(sizeof(simgrid::surf::VirtualMachineImpl*), nullptr);
 
-  for (VirtualMachine *ws_vm : VirtualMachine::allVms_) {
+  for (VirtualMachineImpl* ws_vm : VirtualMachineImpl::allVms_) {
     if (this == ws_vm->getPm()->pimpl_)
       xbt_dynar_push(dyn, &ws_vm);
   }