XBT_PUBLIC(void) TRACE_link_srcdst_variable_sub_with_time (double time, const char *src, const char *dst, const char *variable, double value);
XBT_PUBLIC(xbt_dynar_t) TRACE_get_link_variables (void);
+/* for creating graph configuration files for Triva by hand */
+XBT_PUBLIC(xbt_dynar_t) TRACE_get_node_types (void);
+XBT_PUBLIC(xbt_dynar_t) TRACE_get_edge_types (void);
+
#else /* HAVE_TRACING */
#define TRACE_category(category)
#define TRACE_link_srcdst_variable_sub_with_time(time,src,dst,var,value)
#define TRACE_get_host_variables()
+#define TRACE_get_node_types()
+#define TRACE_get_edge_types()
+
#endif /* HAVE_TRACING */
#endif /* INSTR_H_ */
xbt_dict_t declared_marks = NULL;
xbt_dict_t user_host_variables = NULL;
xbt_dict_t user_link_variables = NULL;
+extern xbt_dict_t trivaNodeTypes;
+extern xbt_dict_t trivaEdgeTypes;
static xbt_dynar_t instr_dict_to_dynar (xbt_dict_t filter)
{
return instr_dict_to_dynar (user_link_variables);
}
+/** \ingroup TRACE_API
+ * \brief Get Paje container types that can be mapped to the nodes of a graph.
+ *
+ * This function can be used to create a user made
+ * graph configuration file for Triva. Normally, it is
+ * used with the functions defined in \ref TRACE_user_variables.
+ *
+ * \return A dynar with the types, must be freed with xbt_dynar_free.
+ */
+xbt_dynar_t TRACE_get_node_types (void)
+{
+ return instr_dict_to_dynar (trivaNodeTypes);
+}
+
+/** \ingroup TRACE_API
+ * \brief Get Paje container types that can be mapped to the edges of a graph.
+ *
+ * This function can be used to create a user made
+ * graph configuration file for Triva. Normally, it is
+ * used with the functions defined in \ref TRACE_user_variables.
+ *
+ * \return A dynar with the types, must be freed with xbt_dynar_free.
+ */
+xbt_dynar_t TRACE_get_edge_types (void)
+{
+ return instr_dict_to_dynar (trivaEdgeTypes);
+}
+
#endif /* HAVE_TRACING */