Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[surf] Fix bad cast, CpuL07::getModel() is a CpuL07Model* not a HostL07Model*
[simgrid.git] / src / surf / host_ptask_L07.cpp
index 57367bb..20b4d50 100644 (file)
@@ -41,12 +41,15 @@ void surf_host_model_init_ptask_L07(void)
   sg_platf_link_add_cb(ptask_netlink_parse_init);
   sg_platf_postparse_add_cb(host_add_traces);
 
-  surf_host_model = new HostL07Model();
-  Model *model = surf_host_model;
+  surf_host_model = new simgrid::surf::HostL07Model();
+  simgrid::surf::Model *model = surf_host_model;
   xbt_dynar_push(all_existing_models, &model);
 }
 
 
+namespace simgrid {
+namespace surf {
+
 HostL07Model::HostL07Model() : HostModel() {
   if (!ptask_maxmin_system)
        ptask_maxmin_system = lmm_system_new(1);
@@ -272,7 +275,7 @@ Host *HostL07Model::createHost(const char *name,RoutingEdge *netElm, Cpu *cpu)
   HostL07 *host = new HostL07(this, name, NULL, netElm, cpu);
 
   surf_callback_emit(hostCreatedCallbacks, host);
-  xbt_lib_set(host_lib, name, SURF_HOST_LEVEL, host);
+  simgrid::Host::get_host(name)->set_facet(SURF_HOST_LEVEL, host);
 
   return host;
 }
@@ -462,9 +465,9 @@ Action *CpuL07::execute(double size)
   host_list[0] = sg_host_by_name(getName());
   flops_amount[0] = size;
 
-  return static_cast<HostL07Model*>(getModel())->executeParallelTask(1, host_list,
-                                             flops_amount,
-                                     bytes_amount, -1);
+  return static_cast<CpuL07Model*>(getModel())
+    ->p_hostModel
+    ->executeParallelTask( 1, host_list, flops_amount, bytes_amount, -1);
 }
 
 Action *CpuL07::sleep(double duration)
@@ -670,3 +673,6 @@ double L07Action::getRemains()
   XBT_OUT();
   return m_remains;
 }
+
+}
+}