-
- char *defined;
- //type must not exist
- defined = xbt_dict_get_or_null(defined_types, type);
- xbt_assert1 (defined == NULL, "Type %s is already defined", type);
- //parent_type must exist or be different of 0
- defined = xbt_dict_get_or_null(defined_types, parent_type);
- xbt_assert1 (defined != NULL || strcmp(parent_type, "0") == 0,
- "Type (used as parent) %s is not defined", parent_type);
-
- pajeDefineContainerType(type, parent_type, type);
- if (final) {
- //for m_process_t
- if (TRACE_msg_process_is_enabled())
- pajeDefineContainerType("process", type, "process");
- if (TRACE_msg_process_is_enabled())
- pajeDefineStateType("process-state", "process", "process-state");
-
- if (TRACE_msg_task_is_enabled())
- pajeDefineContainerType("task", type, "task");
- if (TRACE_msg_task_is_enabled())
- pajeDefineStateType("task-state", "task", "task-state");
- }
- val_one = xbt_strdup("1");
- xbt_dict_set(defined_types, type, &val_one, xbt_free);
-}
-
-int TRACE_create_category(const char *category,
- const char *type, const char *parent_category)
-{
- return TRACE_create_category_with_color (category, type, parent_category, NULL);
-}
-
-int TRACE_create_category_with_color(const char *category,
- const char *type,
- const char *parent_category,
- const char *color)
-{
- char state[100];
- char *val_one = NULL;
- if (!TRACE_is_active())
- return 1;
-
- char *defined = xbt_dict_get_or_null(defined_types, type);
- //check if type is defined
- xbt_assert1 (defined != NULL, "Type %s is not defined", type);
- //check if parent_category exists
- defined = xbt_dict_get_or_null(created_categories, parent_category);
- xbt_assert1 (defined != NULL || strcmp(parent_category, "0") == 0,
- "Category (used as parent) %s is not created", parent_category);
- //check if category is created