2 * SPDX-License-Identifier: MIT
4 * Copyright 2018 Philippe Proulx <pproulx@efficios.com>
7 #ifndef BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_VISITORS_HPP
8 #define BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_VISITORS_HPP
10 #include <babeltrace2/babeltrace.h>
12 #include "cpp-common/bt2/optional-borrowed-object.hpp"
13 #include "cpp-common/bt2/self-component-port.hpp"
15 #include "ctf-meta.hpp"
21 } /* namespace bt2c */
23 int ctf_trace_class_resolve_field_classes(struct ctf_trace_class *tc,
24 const bt2c::Logger& parentLogger);
26 int ctf_trace_class_translate(bt2::OptionalBorrowedObject<bt2::SelfComponent> selfComp,
27 bt_trace_class *ir_tc, struct ctf_trace_class *tc);
29 int ctf_trace_class_update_default_clock_classes(struct ctf_trace_class *ctf_tc,
30 const bt2c::Logger& parentLogger);
32 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);
36 int ctf_trace_class_update_text_array_sequence(struct ctf_trace_class *ctf_tc);
38 int ctf_trace_class_update_alignments(struct ctf_trace_class *ctf_tc);
40 int ctf_trace_class_update_value_storing_indexes(struct ctf_trace_class *ctf_tc);
42 int ctf_trace_class_update_stream_class_config(struct ctf_trace_class *ctf_tc);
44 int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc, const bt2c::Logger& parentLogger);
46 void ctf_trace_class_warn_meaningless_header_fields(struct ctf_trace_class *ctf_tc,
47 const bt2c::Logger& parentLogger);
49 #endif /* BABELTRACE_PLUGINS_CTF_COMMON_SRC_METADATA_TSDL_CTF_META_VISITORS_HPP */