-surf_model_t surf_resource_model(const void *host, int level) {
- /* If level is SURF_WKS_LEVEL, ws is a workstation_CLM03 object. It has
- * surf_resource at the generic_resource field. */
- ResourcePtr ws = static_cast<ResourcePtr>(xbt_lib_get_level((xbt_dictelm_t) host, level));
- return ws->p_model;
-}
-
-void *surf_as_cluster_get_backbone(AS_t as){
- return static_cast<AsClusterPtr>(as)->p_backbone;
-}
-
-void surf_as_cluster_set_backbone(AS_t as, void* backbone){
- static_cast<AsClusterPtr>(as)->p_backbone = dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(backbone));
-}
-
-const char *surf_model_name(surf_model_t model){
- return model->m_name.c_str();
-}
-
-xbt_swag_t surf_model_done_action_set(surf_model_t model){
- return model->p_doneActionSet;
-}
-
-xbt_swag_t surf_model_failed_action_set(surf_model_t model){
- return model->p_failedActionSet;
-}
-
-xbt_swag_t surf_model_ready_action_set(surf_model_t model){
- return model->p_readyActionSet;
-}
-
-xbt_swag_t surf_model_running_action_set(surf_model_t model){
- return model->p_runningActionSet;
-}
-
-surf_action_t surf_workstation_model_execute_parallel_task(surf_workstation_model_t model,
- int workstation_nb,
- void **workstation_list,
- double *computation_amount,
- double *communication_amount,
- double rate){
- return static_cast<ActionPtr>(model->executeParallelTask(workstation_nb, workstation_list, computation_amount, communication_amount, rate));
-}
-
-surf_action_t surf_workstation_model_communicate(surf_workstation_model_t model, surf_resource_t src, surf_resource_t dst, double size, double rate){
- return model->communicate(get_casted_workstation(src), get_casted_workstation(dst), size, rate);
-}
-
-xbt_dynar_t surf_workstation_model_get_route(surf_workstation_model_t model,
- surf_resource_t src, surf_resource_t dst){
- return model->getRoute(get_casted_workstation(src), get_casted_workstation(dst));
-}
-
-void surf_vm_workstation_model_create(const char *name, surf_resource_t ind_phys_host){
- surf_vm_workstation_model->createResource(name, ind_phys_host);
-}
-
-surf_action_t surf_network_model_communicate(surf_network_model_t model, sg_routing_edge_t src, sg_routing_edge_t dst, double size, double rate){
- return model->communicate(src, dst, size, rate);
-}
-
-const char *surf_resource_name(surf_cpp_resource_t resource){
- return resource->m_name;
-}
-
-xbt_dict_t surf_resource_get_properties(surf_cpp_resource_t resource){
- return resource->getProperties();
-}
-
-e_surf_resource_state_t surf_resource_get_state(surf_cpp_resource_t resource){
- return resource->getState();