Visibility hidden by default
[babeltrace.git] / src / plugins / ctf / common / metadata / ctf-meta-configure-ir-trace.cpp
1 /*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
5 */
6
7 #include <babeltrace2/babeltrace.h>
8
9 #include "ctf-meta-configure-ir-trace.hpp"
10
11 int ctf_trace_class_configure_ir_trace(struct ctf_trace_class *tc, bt_trace *ir_trace)
12 {
13 int ret = 0;
14 uint64_t i;
15
16 BT_ASSERT(tc);
17 BT_ASSERT(ir_trace);
18
19 if (tc->is_uuid_set) {
20 bt_trace_set_uuid(ir_trace, tc->uuid);
21 }
22
23 for (i = 0; i < tc->env_entries->len; i++) {
24 struct ctf_trace_class_env_entry *env_entry =
25 ctf_trace_class_borrow_env_entry_by_index(tc, i);
26
27 switch (env_entry->type) {
28 case CTF_TRACE_CLASS_ENV_ENTRY_TYPE_INT:
29 ret = bt_trace_set_environment_entry_integer(ir_trace, env_entry->name->str,
30 env_entry->value.i);
31 break;
32 case CTF_TRACE_CLASS_ENV_ENTRY_TYPE_STR:
33 ret = bt_trace_set_environment_entry_string(ir_trace, env_entry->name->str,
34 env_entry->value.str->str);
35 break;
36 default:
37 bt_common_abort();
38 }
39
40 if (ret) {
41 goto end;
42 }
43 }
44
45 end:
46 return ret;
47 }
This page took 0.02997 seconds and 4 git commands to generate.