2 * SPDX-License-Identifier: MIT
4 * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
7 #ifndef _CTF_META_VISITORS_H
8 #define _CTF_META_VISITORS_H
10 #include <babeltrace2/babeltrace.h>
11 #include "common/macros.h"
13 #include "ctf-meta.hpp"
15 struct meta_log_config;
17 int ctf_trace_class_resolve_field_classes(struct ctf_trace_class *tc,
18 struct meta_log_config *log_cfg);
20 int ctf_trace_class_translate(bt_self_component *self_comp, bt_trace_class *ir_tc,
21 struct ctf_trace_class *tc);
23 int ctf_trace_class_update_default_clock_classes(struct ctf_trace_class *ctf_tc,
24 struct meta_log_config *log_cfg);
26 int ctf_trace_class_update_in_ir(struct ctf_trace_class *ctf_tc);
28 int ctf_trace_class_update_meanings(struct ctf_trace_class *ctf_tc);
30 int ctf_trace_class_update_text_array_sequence(struct ctf_trace_class *ctf_tc);
32 int ctf_trace_class_update_alignments(struct ctf_trace_class *ctf_tc);
34 int ctf_trace_class_update_value_storing_indexes(struct ctf_trace_class *ctf_tc);
36 int ctf_trace_class_update_stream_class_config(struct ctf_trace_class *ctf_tc);
38 int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc, struct meta_log_config *log_cfg);
40 void ctf_trace_class_warn_meaningless_header_fields(struct ctf_trace_class *ctf_tc,
41 struct meta_log_config *log_cfg);
43 #endif /* _CTF_META_VISITORS_H */