- surf_workstation_model = xbt_new0(s_surf_model_t, 1);
-
- surf_model_init(surf_workstation_model);
-/* surf_workstation_model->extension_private = xbt_new0(s_surf_workstation_model_extension_private_t,1); */
-
- surf_workstation_model->common_public.get_resource_name = get_resource_name;
- surf_workstation_model->common_public.action_get_state =
- surf_action_get_state;
- surf_workstation_model->common_public.action_get_start_time =
- surf_action_get_start_time;
- surf_workstation_model->common_public.action_get_finish_time =
- surf_action_get_finish_time;
- surf_workstation_model->common_public.action_free = action_free;
- surf_workstation_model->common_public.action_use = action_use;
- surf_workstation_model->common_public.action_cancel = action_cancel;
- surf_workstation_model->common_public.action_change_state =
- action_change_state;
- surf_workstation_model->common_public.action_set_data =
- surf_action_set_data;
- surf_workstation_model->common_public.name = "Workstation";
-
- surf_workstation_model->common_private->resource_used = resource_used;
- surf_workstation_model->common_private->share_resources = share_resources;
- surf_workstation_model->common_private->update_actions_state =
- update_actions_state;
- surf_workstation_model->common_private->update_resource_state =
- update_resource_state;
- surf_workstation_model->common_private->finalize = finalize;
-
- surf_workstation_model->common_public.suspend = action_suspend;
- surf_workstation_model->common_public.resume = action_resume;
- surf_workstation_model->common_public.is_suspended = action_is_suspended;
- surf_workstation_model->common_public.set_max_duration =
- action_set_max_duration;
- surf_workstation_model->common_public.set_priority = action_set_priority;
-
- surf_workstation_model->extension.workstation.execute = execute;
- surf_workstation_model->extension.workstation.sleep = action_sleep;
- surf_workstation_model->extension.workstation.get_state = get_state;
- surf_workstation_model->extension.workstation.get_speed = get_speed;
+ surf_workstation_model = surf_model_init();
+
+ surf_workstation_model->name = "Workstation";
+ surf_workstation_model->action_unref = ws_action_unref;
+ surf_workstation_model->action_cancel = ws_action_cancel;
+ surf_workstation_model->action_state_set = ws_action_state_set;
+
+ surf_workstation_model->model_private->resource_used = ws_resource_used;
+ surf_workstation_model->model_private->share_resources = ws_share_resources;
+ surf_workstation_model->model_private->update_actions_state =
+ ws_update_actions_state;
+ surf_workstation_model->model_private->update_resource_state =
+ ws_update_resource_state;
+ surf_workstation_model->model_private->finalize = ws_finalize;
+
+ surf_workstation_model->suspend = ws_action_suspend;
+ surf_workstation_model->resume = ws_action_resume;
+ surf_workstation_model->is_suspended = ws_action_is_suspended;
+ surf_workstation_model->set_max_duration = ws_action_set_max_duration;
+ surf_workstation_model->set_priority = ws_action_set_priority;
+ surf_workstation_model->get_remains = ws_action_get_remains;
+#ifdef HAVE_LATENCY_BOUND_TRACKING
+ surf_workstation_model->get_latency_limited = ws_get_latency_limited;
+#endif
+
+ surf_workstation_model->extension.workstation.execute = ws_execute;
+ surf_workstation_model->extension.workstation.sleep = ws_action_sleep;
+ surf_workstation_model->extension.workstation.get_state = ws_get_state;
+ surf_workstation_model->extension.workstation.get_speed = ws_get_speed;