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, bt_trace_class *ir_tc,
23 struct ctf_trace_class *tc);
26 int ctf_trace_class_update_default_clock_classes(struct ctf_trace_class *ctf_tc,
27 struct meta_log_config *log_cfg);
30 int ctf_trace_class_update_in_ir(struct ctf_trace_class *ctf_tc);
33 int ctf_trace_class_update_meanings(struct ctf_trace_class *ctf_tc);
36 int ctf_trace_class_update_text_array_sequence(struct ctf_trace_class *ctf_tc);
39 int ctf_trace_class_update_alignments(struct ctf_trace_class *ctf_tc);
42 int ctf_trace_class_update_value_storing_indexes(struct ctf_trace_class *ctf_tc);
45 int ctf_trace_class_update_stream_class_config(struct ctf_trace_class *ctf_tc);
48 int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc, struct meta_log_config *log_cfg);
51 void ctf_trace_class_warn_meaningless_header_fields(struct ctf_trace_class *ctf_tc,
52 struct meta_log_config *log_cfg);
54 #endif /* _CTF_META_VISITORS_H */