/*
* Callbacks
*/
-static void instr_routing_parse_start_AS (const char*id,const char*routing)
+static void instr_routing_parse_start_AS (const char*id,int routing)
{
if (PJ_container_get_root() == NULL){
PJ_container_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 ()
{
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;