xbt_dict_t trivaNodeTypes = NULL; /* all link types defined */
xbt_dict_t trivaEdgeTypes = NULL; /* all host types defined */
-void instr_paje_init (container_t root)
+void instr_paje_init (void)
{
allContainers = xbt_dict_new_homogeneous(NULL);
trivaNodeTypes = xbt_dict_new_homogeneous(xbt_free);
trivaEdgeTypes = xbt_dict_new_homogeneous(xbt_free);
+}
+
+void instr_paje_set_root (container_t root)
+{
rootContainer = root;
}
xbt_dict_cursor_t cursor = NULL;
type_t child;
char *child_name;
+ type_t ret = NULL;
xbt_dict_foreach(root->children, cursor, child_name, child) {
- type_t ret = recursiveGetType(name, child);
- if (ret) return ret;
+ type_t found = recursiveGetType(name, child);
+ if (found){
+ if (ret == NULL){
+ ret = found;
+ }else{
+ XBT_CRITICAL("[tracing] found two types with the same name");
+ }
+ }
}
- return NULL;
+ return ret;
}
type_t getType (const char *name, type_t father)
static void recursiveDestroyContainer (container_t container)
{
+ XBT_DEBUG("recursiveDestroyContainer %s", container->name);
xbt_dict_cursor_t cursor = NULL;
container_t child;
char *child_name;
static void recursiveDestroyType (type_t type)
{
+ XBT_DEBUG("recursiveDestroyType %s", type->name);
xbt_dict_cursor_t cursor = NULL;
type_t child;
char *child_name;