if (strcmp (child1_name, child2_name) == 0) continue;
//get the route
- route_t route = xbt_new0(s_route_t,1);
- route->link_list = xbt_dynar_new(global_routing->size_of_link,NULL);
+ sg_platf_route_cbarg_t route = xbt_new0(s_sg_platf_route_cbarg_t,1);
+ route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t),NULL);
rc->get_route_and_latency(rc, child1->net_elm, child2->net_elm,
route, NULL);
unsigned int cpt;
void *link;
container_t current, previous;
- if (route->src_gateway){
- previous = PJ_container_get(route->src_gateway->name);
+ if (route->gw_src){
+ previous = PJ_container_get(route->gw_src->name);
}else{
previous = child1;
}
linkContainers(previous, current, filter);
previous = current;
}
- if (route->dst_gateway){
- current = PJ_container_get(route->dst_gateway->name);
+ if (route->gw_dst){
+ current = PJ_container_get(route->gw_dst->name);
}else{
current = child2;
}
/*
* Callbacks
*/
-static void instr_routing_parse_start_AS (const char*id,const char*routing)
+static void instr_routing_parse_start_AS (sg_platf_AS_cbarg_t AS)
{
+ const char*id = AS->id;
+
if (PJ_container_get_root() == NULL){
PJ_container_alloc ();
PJ_type_alloc();
xbt_dynar_free(¤tContainer);
currentContainer = NULL;
xbt_dict_t filter = xbt_dict_new_homogeneous(xbt_free);
- recursiveGraphExtraction (global_routing->root, PJ_container_get_root(), filter);
+ recursiveGraphExtraction (routing_platf->root, PJ_container_get_root(), filter);
xbt_dict_free(&filter);
platform_created = 1;
TRACE_paje_dump_buffer(1);
recursiveNewUserVariableType (father_type, new_typename, color, PJ_type_get_root());
}
+static void recursiveNewUserStateType (const char *father_type, const char *new_typename, type_t root)
+{
+ if (!strcmp (root->name, father_type)){
+ PJ_type_state_new (new_typename, root);
+ }
+ xbt_dict_cursor_t cursor = NULL;
+ type_t child_type;
+ char *name;
+ xbt_dict_foreach(root->children, cursor, name, child_type) {
+ recursiveNewUserStateType (father_type, new_typename, child_type);
+ }
+}
+
+void instr_new_user_state_type (const char *father_type, const char *new_typename)
+{
+ recursiveNewUserStateType (father_type, new_typename, PJ_type_get_root());
+}
+
+static void recursiveNewValueForUserStateType (const char *typename, const char *value, const char *color, type_t root)
+{
+ if (!strcmp (root->name, typename)){
+ PJ_value_new (value, color, root);
+ }
+ xbt_dict_cursor_t cursor = NULL;
+ type_t child_type;
+ char *name;
+ xbt_dict_foreach(root->children, cursor, name, child_type) {
+ recursiveNewValueForUserStateType (typename, value, color, child_type);
+ }
+}
+void instr_new_value_for_user_state_type (const char *typename, const char *value, const char *color)
+{
+ recursiveNewValueForUserStateType (typename, value, color, PJ_type_get_root());
+}
int instr_platform_traced ()
{
if (strcmp (child1_name, child2_name) == 0) continue;
//get the route
- route_t route = xbt_new0(s_route_t,1);
- route->link_list = xbt_dynar_new(global_routing->size_of_link,NULL);
+ sg_platf_route_cbarg_t route = xbt_new0(s_sg_platf_route_cbarg_t,1);
+ route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t),NULL);
rc->get_route_and_latency(rc, child1->net_elm, child2->net_elm,
route, NULL);
unsigned int cpt;
void *link;
xbt_node_t current, previous;
- if (route->src_gateway){
- previous = new_xbt_graph_node(graph, route->src_gateway->name, nodes);
+ if (route->gw_src){
+ previous = new_xbt_graph_node(graph, route->gw_src->name, nodes);
}else{
previous = new_xbt_graph_node(graph, child1_name, nodes);
}
//previous -> current
previous = current;
}
- if (route->dst_gateway){
- current = new_xbt_graph_node(graph, route->dst_gateway->name, nodes);
+ if (route->gw_dst){
+ current = new_xbt_graph_node(graph, route->gw_dst->name, nodes);
}else{
current = new_xbt_graph_node(graph, child2_name, nodes);
}
xbt_graph_t ret = xbt_graph_new_graph (0, NULL);
xbt_dict_t nodes = xbt_dict_new_homogeneous(NULL);
xbt_dict_t edges = xbt_dict_new_homogeneous(NULL);
- recursiveXBTGraphExtraction (ret, nodes, edges, global_routing->root, PJ_container_get_root());
+ recursiveXBTGraphExtraction (ret, nodes, edges, routing_platf->root, PJ_container_get_root());
xbt_dict_free (&nodes);
xbt_dict_free (&edges);
return ret;