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>
12 #include "common/macros.h"
14 #include "ctf-meta.hpp"
16 struct meta_log_config;
18 int ctf_trace_class_resolve_field_classes(struct ctf_trace_class *tc,
19 struct meta_log_config *log_cfg);
21 int ctf_trace_class_translate(bt_self_component *self_comp, bt_trace_class *ir_tc,
22 struct ctf_trace_class *tc);
24 int ctf_trace_class_update_default_clock_classes(struct ctf_trace_class *ctf_tc,
25 struct meta_log_config *log_cfg);
27 int ctf_trace_class_update_in_ir(struct ctf_trace_class *ctf_tc);
29 int ctf_trace_class_update_meanings(struct ctf_trace_class *ctf_tc);
31 int ctf_trace_class_update_text_array_sequence(struct ctf_trace_class *ctf_tc);
33 int ctf_trace_class_update_alignments(struct ctf_trace_class *ctf_tc);
35 int ctf_trace_class_update_value_storing_indexes(struct ctf_trace_class *ctf_tc);
37 int ctf_trace_class_update_stream_class_config(struct ctf_trace_class *ctf_tc);
39 int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc, struct meta_log_config *log_cfg);
41 void ctf_trace_class_warn_meaningless_header_fields(struct ctf_trace_class *ctf_tc,
42 struct meta_log_config *log_cfg);
44 #endif /* _CTF_META_VISITORS_H */