"SURF_ACTION_NOT_IN_THE_SYSTEM"
};
-
+/* Don't forget to update the option description in smx_config when you change this */
s_surf_model_description_t surf_network_model_description[] = {
{"Constant", NULL, surf_network_model_init_Constant},
{"CM02", NULL, surf_network_model_init_CM02},
XBT_LOG_EXTERNAL_CATEGORY(surf_parse);
XBT_LOG_EXTERNAL_CATEGORY(surf_timer);
XBT_LOG_EXTERNAL_CATEGORY(surf_workstation);
+XBT_LOG_EXTERNAL_CATEGORY(surf_config);
+
#ifdef HAVE_SDP
XBT_LOG_EXTERNAL_CATEGORY(surf_sdp_out);
void surf_init(int *argc, char **argv)
{
- int i, j;
- char *opt;
-
- const char *initial_path;
-
/* Connect our log channels: that must be done manually under windows */
XBT_LOG_CONNECT(surf_cpu, surf);
XBT_LOG_CONNECT(surf_kernel, surf);
XBT_LOG_CONNECT(surf_parse, surf);
XBT_LOG_CONNECT(surf_timer, surf);
XBT_LOG_CONNECT(surf_workstation, surf);
+ XBT_LOG_CONNECT(surf_config, surf);
#ifdef HAVE_SDP
XBT_LOG_CONNECT(surf_sdp_out, surf);
#endif
xbt_init(argc, argv);
- if (!surf_path) {
-
- /* retrieves the current directory of the current process */
- initial_path = __surf_get_initial_path();
-
- xbt_assert0((initial_path),
- "__surf_get_initial_path() failed! Can't resolves current Windows directory");
-
- surf_path = xbt_dynar_new(sizeof(char *), NULL);
- xbt_dynar_push(surf_path, &initial_path);
-
- for (i = 1; i < *argc; i++) {
- if (!strncmp(argv[i], "--surf-path=", strlen("--surf-path="))) {
- opt = strchr(argv[i], '=');
- opt++;
- xbt_dynar_push(surf_path, &opt);
- /*remove this from argv */
- for (j = i + 1; j < *argc; j++) {
- argv[j - 1] = argv[j];
- }
- argv[j - 1] = NULL;
- (*argc)--;
- i--; /* compensate effect of next loop incrementation */
- }
- }
- }
if (!model_list)
model_list = xbt_dynar_new(sizeof(surf_model_private_t), NULL);
if (!history)
history = tmgr_history_new();
+
+ surf_config_init(argc,argv);
}
static char *path_name = NULL;
unsigned int iter;
surf_model_t model = NULL;
+ surf_config_finalize();
+
xbt_dynar_foreach(model_list, iter, model) {
model->common_private->finalize();
}