- //register NODE types
- fprintf (file, " node = (");
- xbt_dict_foreach(trivaNodeTypes, cursor, name, value) {
- fprintf (file, "%s, ", name);
- }
-
- //register EDGE types
- fprintf (file,
- ");\n"
- " edge = (");
- xbt_dict_foreach(trivaEdgeTypes, cursor, name, value) {
- fprintf (file, "%s, ", name);
- }
- fprintf (file,
- ");\n"
- "\n");
-
- //register each NODE type layout
- xbt_dict_foreach(trivaNodeTypes, cursor, name, value) {
- fprintf (file, " %s = {\n", name);
- if (strcmp (name, "HOST") == 0){
- fprintf (file,
- " type = node;\n"
- " size = power;\n"
- " host_sep = {\n"
- " type = separation;\n"
- " size = power;\n"
- " values = (power_used);\n"
- " };\n");
- }else if (strcmp (name, "ROUTER") == 0){
- fprintf (file,
- " type = node;\n"
- " size = 10;\n");
- }else if (strcmp (name, "LINK") == 0){
- fprintf (file,
- " type = edge;\n"
- " size = bandwidth;\n"
- " scale = global;\n"
- " link_sep = {\n"
- " type = separation;\n"
- " size = bandwidth;\n"
- " values = (bandwidth_used);\n"
- " };\n");
- }
- fprintf (file, " };\n\n");
- }
-
- //EDGE configuration
- xbt_dict_foreach(trivaEdgeTypes, cursor, name, value) {
- fprintf (file, " %s = { size = 1; };\n", name);
- }
-
- //graphviz configuration
+ //register NODE and EDGE types
+ output_types ("node", TRACE_get_node_types(), file);
+ output_types ("edge", TRACE_get_edge_types(), file);