+void sg_platf_new_route(sg_platf_route_cbarg_t route) {
+ unsigned int iterator;
+ sg_platf_route_cb_t fun;
+ xbt_dynar_foreach(sg_platf_route_cb_list, iterator, fun) {
+ fun(route);
+ }
+}void sg_platf_new_ASroute(sg_platf_route_cbarg_t ASroute) {
+ unsigned int iterator;
+ sg_platf_route_cb_t fun;
+ xbt_dynar_foreach(sg_platf_ASroute_cb_list, iterator, fun) {
+ fun(ASroute);
+ }
+}
+void sg_platf_new_bypassRoute(sg_platf_route_cbarg_t bypassRoute) {
+ unsigned int iterator;
+ sg_platf_route_cb_t fun;
+ xbt_dynar_foreach(sg_platf_bypassRoute_cb_list, iterator, fun) {
+ fun(bypassRoute);
+ }
+}void sg_platf_new_bypassASroute(sg_platf_route_cbarg_t bypassASroute) {
+ unsigned int iterator;
+ sg_platf_route_cb_t fun;
+ xbt_dynar_foreach(sg_platf_bypassASroute_cb_list, iterator, fun) {
+ fun(bypassASroute);
+ }
+}
+void sg_platf_new_prop(sg_platf_prop_cbarg_t prop) {
+ unsigned int iterator;
+ sg_platf_prop_cb_t fun;
+ xbt_dynar_foreach(sg_platf_prop_cb_list, iterator, fun) {
+ fun(prop);
+ }
+}
+void sg_platf_new_trace(sg_platf_trace_cbarg_t trace) {
+ unsigned int iterator;
+ sg_platf_trace_cb_t fun;
+ xbt_dynar_foreach(sg_platf_trace_cb_list, iterator, fun) {
+ fun(trace);
+ }
+}
+void sg_platf_new_trace_connect(sg_platf_trace_connect_cbarg_t trace_connect) {
+ unsigned int iterator;
+ sg_platf_trace_connect_cb_t fun;
+ xbt_dynar_foreach(sg_platf_trace_connect_cb_list, iterator, fun) {
+ fun(trace_connect);
+ }
+}
+void sg_platf_new_process(sg_platf_process_cbarg_t process){
+ unsigned int iterator;
+ sg_platf_process_cb_t fun;
+ xbt_dynar_foreach(sg_platf_process_cb_list, iterator, fun) {
+ fun(process);
+ }
+}
+
+void sg_platf_route_begin (sg_platf_route_cbarg_t route){
+ route->link_list = xbt_dynar_new(sizeof(char *), &xbt_free_ref);
+}
+void sg_platf_ASroute_begin (sg_platf_route_cbarg_t ASroute){
+ ASroute->link_list = xbt_dynar_new(sizeof(char *), &xbt_free_ref);
+}
+
+void sg_platf_route_end (sg_platf_route_cbarg_t route){
+ sg_platf_new_route(route);
+}
+void sg_platf_ASroute_end (sg_platf_route_cbarg_t ASroute){
+ sg_platf_new_ASroute(ASroute);
+}
+
+void sg_platf_route_add_link (const char* link_id, sg_platf_route_cbarg_t route){
+ char *link_name = xbt_strdup(link_id);
+ xbt_dynar_push(route->link_list, &link_name);
+}
+void sg_platf_ASroute_add_link (const char* link_id, sg_platf_route_cbarg_t ASroute){
+ char *link_name = xbt_strdup(link_id);
+ xbt_dynar_push(ASroute->link_list, &link_name);
+}