Make API CTF-agnostic
[babeltrace.git] / plugins / ctf / common / metadata / ast.h
index 232c2e75a945bc1a28ec5eec7b6a605d04b8ba02..e06d6e69d62b72f3f4e6a1f3f2633fc4153cde5d 100644 (file)
 #include <stdint.h>
 #include <stdio.h>
 #include <glib.h>
-#include <babeltrace/list.h>
-#include <babeltrace/ctf-ir/trace.h>
+#include <babeltrace/list-internal.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
@@ -29,6 +33,9 @@
 
 struct ctf_node;
 struct ctf_parser;
+struct ctf_visitor_generate_ir;
+
+#define EINCOMPLETE    1000
 
 #define FOREACH_CTF_NODES(F) \
        F(NODE_UNKNOWN) \
@@ -303,19 +310,29 @@ struct ctf_ast {
 
 const char *node_type(struct ctf_node *node);
 
-struct ctf_trace;
+BT_HIDDEN
+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_trace *ctf_visitor_generate_ir_get_ir_trace(
+               struct ctf_visitor_generate_ir *visitor);
 
 BT_HIDDEN
-int ctf_visitor_generate_ir(FILE *efd, struct ctf_node *node,
-               struct bt_ctf_trace **trace, uint64_t clock_offset_ns);
+struct ctf_trace_class *ctf_visitor_generate_ir_borrow_ctf_trace_class(
+               struct ctf_visitor_generate_ir *visitor);
 
 BT_HIDDEN
-int ctf_visitor_semantic_check(FILE *fd, int depth, struct ctf_node *node);
+int ctf_visitor_generate_ir_visit_node(struct ctf_visitor_generate_ir *visitor,
+               struct ctf_node *node);
 
 BT_HIDDEN
-int ctf_visitor_parent_links(FILE *fd, int depth, struct ctf_node *node);
+int ctf_visitor_semantic_check(int depth, struct ctf_node *node);
 
 BT_HIDDEN
-int ctf_destroy_metadata(struct ctf_trace *trace);
+int ctf_visitor_parent_links(int depth, struct ctf_node *node);
 
 #endif /* _CTF_AST_H */
This page took 0.025111 seconds and 4 git commands to generate.