#include "xbt/log.h"
#include "xbt/xbt_os_time.h"
#include "xbt/config.h"
+#include "surf/surfxml_parse.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_environment, simix,
"Logging specific to SIMIX (environment)");
*/
void SIMIX_create_environment(const char *file)
{
- xbt_dict_cursor_t cursor = NULL;
+ xbt_lib_cursor_t cursor = NULL;
char *name = NULL;
- void *workstation = NULL;
+ void **workstation = NULL;
double start, end;
- surf_config_models_setup(file);
+ platform_filename = xbt_strdup(file);
+
+ // Reset callbacks
+ surf_parse_reset_callbacks();
+ // Add config callbacks
+ surf_parse_add_callback_config();
+
parse_platform_file(file);
surf_config_models_create_elms();
+
start = xbt_os_time();
/* FIXME: what time are we measuring ??? */
end = xbt_os_time();
- DEBUG1("PARSE TIME: %lg", (end - start));
+ XBT_DEBUG("PARSE TIME: %lg", (end - start));
- xbt_dict_foreach(surf_model_resource_set(surf_workstation_model), cursor,
- name, workstation) {
- SIMIX_host_create(name, workstation, NULL);
+ xbt_lib_foreach(host_lib, cursor, name, workstation) {
+ if(workstation[SURF_WKS_LEVEL])
+ SIMIX_host_create(name, workstation[SURF_WKS_LEVEL], NULL);
}
surf_presolve();
}