2 * SPDX-License-Identifier: MIT
4 * Copyright (c) 2015 EfficiOS Inc. and Linux Foundation
5 * Copyright (c) 2018 Philippe Proulx <pproulx@efficios.com>
6 * Copyright (c) 2019 Francis Deslauriers <francis.deslauriers@efficios.com>
8 * Babeltrace - Trace IR metadata object copy
11 #ifndef BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_METADATA_COPY_H
12 #define BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_METADATA_COPY_H
14 #include <babeltrace2/babeltrace.h>
15 #include "common/macros.h"
16 #include "trace-ir-mapping.h"
18 enum debug_info_trace_ir_mapping_status
copy_trace_class_content(
19 struct trace_ir_maps
*trace_ir_maps
,
20 const bt_trace_class
*in_trace_class
,
21 bt_trace_class
*out_trace_class
,
22 bt_logging_level log_level
,
23 bt_self_component
*self_comp
);
25 enum debug_info_trace_ir_mapping_status
copy_stream_class_content(
26 struct trace_ir_maps
*trace_ir_maps
,
27 const bt_stream_class
*in_stream_class
,
28 bt_stream_class
*out_stream_class
);
30 enum debug_info_trace_ir_mapping_status
copy_event_class_content(
31 struct trace_ir_maps
*trace_ir_maps
,
32 const bt_event_class
*in_event_class
,
33 bt_event_class
*out_event_class
);
35 enum debug_info_trace_ir_mapping_status
copy_field_class_content(
36 struct trace_ir_metadata_maps
*trace_ir_metadata_maps
,
37 const bt_field_class
*in_field_class
,
38 bt_field_class
*out_field_class
);
40 enum debug_info_trace_ir_mapping_status
copy_event_common_context_field_class_content(
41 struct trace_ir_metadata_maps
*trace_ir_metadata_maps
,
42 const char *debug_info_field_class_name
,
43 const bt_field_class
*in_field_class
,
44 bt_field_class
*out_field_class
);
46 bt_field_class
*create_field_class_copy(
47 struct trace_ir_metadata_maps
*trace_ir_metadata_maps
,
48 const bt_field_class
*in_field_class
);
50 #endif /* BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_METADATA_COPY_H */