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"
19 enum debug_info_trace_ir_mapping_status
copy_trace_class_content(
20 struct trace_ir_maps
*trace_ir_maps
,
21 const bt_trace_class
*in_trace_class
,
22 bt_trace_class
*out_trace_class
,
23 bt_logging_level log_level
,
24 bt_self_component
*self_comp
);
27 enum debug_info_trace_ir_mapping_status
copy_stream_class_content(
28 struct trace_ir_maps
*trace_ir_maps
,
29 const bt_stream_class
*in_stream_class
,
30 bt_stream_class
*out_stream_class
);
33 enum debug_info_trace_ir_mapping_status
copy_event_class_content(
34 struct trace_ir_maps
*trace_ir_maps
,
35 const bt_event_class
*in_event_class
,
36 bt_event_class
*out_event_class
);
39 enum debug_info_trace_ir_mapping_status
copy_field_class_content(
40 struct trace_ir_metadata_maps
*trace_ir_metadata_maps
,
41 const bt_field_class
*in_field_class
,
42 bt_field_class
*out_field_class
);
45 enum debug_info_trace_ir_mapping_status
copy_event_common_context_field_class_content(
46 struct trace_ir_metadata_maps
*trace_ir_metadata_maps
,
47 const char *debug_info_field_class_name
,
48 const bt_field_class
*in_field_class
,
49 bt_field_class
*out_field_class
);
52 bt_field_class
*create_field_class_copy(
53 struct trace_ir_metadata_maps
*trace_ir_metadata_maps
,
54 const bt_field_class
*in_field_class
);
56 #endif /* BABELTRACE_PLUGIN_DEBUG_INFO_TRACE_METADATA_COPY_H */