- char *host_name = NULL;
- int argc = 0 ;
- char **argv = NULL;
- m_process_t process = NULL ;
- m_host_t host = NULL;
- m_process_code_t code = NULL;
- e_surf_token_t token;
-
- MSG_global_init();
-
- find_section(file, "DEPLOYMENT");
-
- while(1) {
- token = surf_parse();
-
- if (token == TOKEN_END_SECTION)
- break;
- if (token == TOKEN_NEWLINE)
- continue;
-
- if (token == TOKEN_WORD) {
- surf_parse_deployment_line(&host_name,&argc,&argv);
- xbt_assert0(argc,"No function to execute");
-
- code = MSG_get_registered_function(argv[0]);
- xbt_assert1(code, "Unknown function %s",argv[0]);
-
- host = MSG_get_host_by_name(host_name);
- xbt_assert1(host, "Unknown host %s",host_name);
-
- process = MSG_process_create(argv[0], code, NULL, host);
- MSG_set_arguments(process, argc, argv);
- xbt_free(host_name);
- }
- else {
- CRITICAL1("Parse error line %d\n", surf_line_pos);
- xbt_abort();
- }
- }
-
- close_section("DEPLOYMENT");
+ xbt_assert0(msg_global,"MSG_global_init_args has to be called before MSG_launch_application.");
+ STag_process_fun = parse_process_init;
+ ETag_argument_fun = parse_argument;
+ ETag_process_fun = parse_process_finalize;
+ surf_parse_open(file);
+ xbt_assert1((!surf_parse()),"Parse error in %s",file);
+ surf_parse_close();