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;
18 int ctf_trace_class_resolve_field_classes(struct ctf_trace_class *tc,
19 struct meta_log_config *log_cfg);
22 int ctf_trace_class_translate(bt_self_component *self_comp,
23 bt_trace_class *ir_tc, struct ctf_trace_class *tc);
26 int ctf_trace_class_update_default_clock_classes(
27 struct ctf_trace_class *ctf_tc,
28 struct meta_log_config *log_cfg);
31 int ctf_trace_class_update_in_ir(struct ctf_trace_class *ctf_tc);
34 int ctf_trace_class_update_meanings(struct ctf_trace_class *ctf_tc);
37 int ctf_trace_class_update_text_array_sequence(struct ctf_trace_class *ctf_tc);
40 int ctf_trace_class_update_alignments(struct ctf_trace_class *ctf_tc);
43 int ctf_trace_class_update_value_storing_indexes(struct ctf_trace_class *ctf_tc);
46 int ctf_trace_class_update_stream_class_config(struct ctf_trace_class *ctf_tc);
49 int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc,
50 struct meta_log_config *log_cfg);
53 void ctf_trace_class_warn_meaningless_header_fields(
54 struct ctf_trace_class *ctf_tc,
55 struct meta_log_config *log_cfg);
57 #endif /* _CTF_META_VISITORS_H */