- STag_surfxml_platform_description_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_platform_description_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_host_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_host_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_router_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_router_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_link_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_link_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_argument_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_argument_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- STag_surfxml_prop_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
- ETag_surfxml_prop_cb_list = xbt_dynar_new(sizeof(void_f_void_t),&free);
+ xbt_dict_foreach(route_table, cursor, key, data) {
+ links = (xbt_dynar_t)data;
+ keys = xbt_str_split_str(key, sep);
+ surfxml_call_cb_functions(ETag_surfxml_platform_cb_list);
+ }
+
+ xbt_dict_free(&route_table);
+ xbt_dynar_free(&links);
+
+}
+
+void surf_parse_free_callbacks(void)
+{
+ xbt_dynar_free(&STag_surfxml_platform_cb_list);
+ xbt_dynar_free(&ETag_surfxml_platform_cb_list);
+ xbt_dynar_free(&STag_surfxml_host_cb_list);
+ xbt_dynar_free(&ETag_surfxml_host_cb_list);
+ xbt_dynar_free(&STag_surfxml_router_cb_list);
+ xbt_dynar_free(&ETag_surfxml_router_cb_list);
+ xbt_dynar_free(&STag_surfxml_link_cb_list);
+ xbt_dynar_free(&ETag_surfxml_link_cb_list);
+ xbt_dynar_free(&STag_surfxml_route_cb_list);
+ xbt_dynar_free(&ETag_surfxml_route_cb_list);
+ xbt_dynar_free(&STag_surfxml_link_c_ctn_cb_list);
+ xbt_dynar_free(&ETag_surfxml_link_c_ctn_cb_list);
+ xbt_dynar_free(&STag_surfxml_process_cb_list);
+ xbt_dynar_free(&ETag_surfxml_process_cb_list);
+ xbt_dynar_free(&STag_surfxml_argument_cb_list);
+ xbt_dynar_free(&ETag_surfxml_argument_cb_list);
+ xbt_dynar_free(&STag_surfxml_prop_cb_list);
+ xbt_dynar_free(&ETag_surfxml_prop_cb_list);
+}
+
+void surf_parse_reset_parser(void)
+{
+ surf_parse_free_callbacks();
+ STag_surfxml_platform_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_platform_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_host_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_host_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_router_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_router_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_link_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_link_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_argument_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_argument_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ STag_surfxml_prop_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);
+ ETag_surfxml_prop_cb_list = xbt_dynar_new(sizeof(void_f_void_t),NULL);