#include <stdio.h>
#include <glib.h>
#include <babeltrace/list-internal.h>
-#include <babeltrace/ctf-ir/trace.h>
+#include <babeltrace/babeltrace.h>
#include <babeltrace/babeltrace-internal.h>
+#include "decoder.h"
+#include "ctf-meta.h"
+
// the parameter name (of the reentrant 'yyparse' function)
// data is a pointer to a 'SParserParam' structure
//#define YYPARSE_PARAM scanner
const char *node_type(struct ctf_node *node);
BT_HIDDEN
-struct ctf_visitor_generate_ir *ctf_visitor_generate_ir_create(FILE *efd,
- uint64_t clock_class_offset_ns);
+struct ctf_visitor_generate_ir *ctf_visitor_generate_ir_create(
+ const struct ctf_metadata_decoder_config *config,
+ const char *name);
void ctf_visitor_generate_ir_destroy(struct ctf_visitor_generate_ir *visitor);
BT_HIDDEN
-struct bt_ctf_trace *ctf_visitor_generate_ir_get_trace(
+struct bt_trace *ctf_visitor_generate_ir_get_ir_trace(
+ struct ctf_visitor_generate_ir *visitor);
+
+BT_HIDDEN
+struct ctf_trace_class *ctf_visitor_generate_ir_borrow_ctf_trace_class(
struct ctf_visitor_generate_ir *visitor);
BT_HIDDEN
struct ctf_node *node);
BT_HIDDEN
-int ctf_visitor_semantic_check(FILE *fd, int depth, struct ctf_node *node);
+int ctf_visitor_semantic_check(int depth, struct ctf_node *node);
BT_HIDDEN
-int ctf_visitor_parent_links(FILE *fd, int depth, struct ctf_node *node);
+int ctf_visitor_parent_links(int depth, struct ctf_node *node);
#endif /* _CTF_AST_H */