Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't free VM's netcard: is not a wrapper anymore but the PM one
[simgrid.git] / src / surf / surf_c_bindings.cpp
index d317546..66dc64d 100644 (file)
@@ -19,11 +19,11 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_kernel);
  *********/
 
 static simgrid::surf::Host *get_casted_host(sg_host_t host){
-  return static_cast<simgrid::surf::Host*>(surf_host_resource_priv(host));
+  return host->extension<simgrid::surf::Host>();
 }
 
 static simgrid::surf::VirtualMachine *get_casted_vm(sg_host_t host){
-  return static_cast<simgrid::surf::VirtualMachine*>(surf_host_resource_priv(host));
+  return static_cast<simgrid::surf::VirtualMachine*>(host->extension<simgrid::surf::Host>());
 }
 
 extern double NOW;
@@ -243,12 +243,17 @@ const char *surf_resource_name(surf_cpp_resource_t resource){
   return resource->getName();
 }
 
-e_surf_resource_state_t surf_resource_get_state(surf_cpp_resource_t resource){
-  return resource->getState();
+int surf_resource_is_on(surf_cpp_resource_t resource){
+  return resource->isOn();
 }
-
-void surf_resource_set_state(surf_cpp_resource_t resource, e_surf_resource_state_t state){
-  resource->setState(state);
+int surf_resource_is_off(surf_cpp_resource_t resource){
+  return resource->isOff();
+}
+void surf_resource_turn_on(surf_cpp_resource_t resource){
+  resource->turnOn();
+}
+void surf_resource_turn_off(surf_cpp_resource_t resource){
+  resource->turnOff();
 }
 
 surf_action_t surf_host_sleep(sg_host_t host, double duration){
@@ -259,18 +264,10 @@ xbt_dict_t sg_host_get_properties(sg_host_t host) {
        return get_casted_host(host)->getProperties();
 }
 
-double surf_host_get_speed(sg_host_t host, double load){
-  return host->p_cpu->getSpeed(load);
-}
-
 double surf_host_get_available_speed(sg_host_t host){
   return host->p_cpu->getAvailableSpeed();
 }
 
-int surf_host_get_core(sg_host_t host){
-  return host->p_cpu->getCore();
-}
-
 surf_action_t surf_host_execute(sg_host_t host, double size){
   return host->p_cpu->execute(size);
 }
@@ -385,9 +382,9 @@ void surf_host_set_params(sg_host_t host, vm_params_t params){
   get_casted_host(host)->setParams(params);
 }
 
-void surf_vm_destroy(sg_host_t vm){
+void surf_vm_destroy(sg_host_t vm){ // FIXME:DEADCODE
   vm->p_cpu = nullptr;
-  delete vm->p_netcard;
+  vm->p_netcard = nullptr;
 }
 
 void surf_vm_suspend(sg_host_t vm){
@@ -446,16 +443,6 @@ const char* surf_storage_get_host(surf_resource_t resource){
   return static_cast<simgrid::surf::Storage*>(surf_storage_resource_priv(resource))->p_attach;
 }
 
-surf_action_t surf_cpu_execute(sg_host_t host, double size){
-       xbt_die("FIXME: DEADCODE");
-  return host->p_cpu->execute(size);
-}
-
-surf_action_t surf_cpu_sleep(sg_host_t host, double duration){
-       xbt_die("FIXME: DEADCODE");
-  return host->p_cpu->sleep(duration);
-}
-
 double surf_action_get_start_time(surf_action_t action){
   return action->getStartTime();
 }
@@ -468,10 +455,6 @@ double surf_action_get_remains(surf_action_t action){
   return action->getRemains();
 }
 
-void surf_action_unref(surf_action_t action){
-  action->unref();
-}
-
 void surf_action_suspend(surf_action_t action){
   action->suspend();
 }
@@ -527,5 +510,5 @@ surf_file_t surf_storage_action_get_file(surf_action_t action){
 }
 
 surf_host_t surf_host_resource_priv(sg_host_t host) {
-  return host->extension(simgrid::surf::Host::EXTENSION_ID);
+  return host->extension<simgrid::surf::Host>();
 }