* all copies or substantial portions of the Software.
*/
-#define BT_LOG_TAG "PLUGIN/CTF/META/TRANSLATE"
-#include "logging.h"
-
#include <babeltrace2/babeltrace.h>
#include "common/macros.h"
#include "common/assert.h"
#include "ctf-meta-visitors.h"
struct ctx {
- bt_self_component_source *self_comp;
+ bt_self_component *self_comp;
bt_trace_class *ir_tc;
bt_stream_class *ir_sc;
struct ctf_trace_class *tc;
ctx->ir_sc = bt_stream_class_create_with_id(ctx->ir_tc, ctx->sc->id);
BT_ASSERT(ctx->ir_sc);
bt_stream_class_put_ref(ctx->ir_sc);
+
+ if (ctx->sc->default_clock_class) {
+ BT_ASSERT(ctx->sc->default_clock_class->ir_cc);
+ ret = bt_stream_class_set_default_clock_class(ctx->ir_sc,
+ ctx->sc->default_clock_class->ir_cc);
+ BT_ASSERT(ret == 0);
+ }
+
+ bt_stream_class_set_supports_packets(ctx->ir_sc, BT_TRUE,
+ ctx->sc->packets_have_ts_begin, ctx->sc->packets_have_ts_end);
+ bt_stream_class_set_supports_discarded_events(ctx->ir_sc,
+ ctx->sc->has_discarded_events,
+ ctx->sc->discarded_events_have_default_cs);
+ bt_stream_class_set_supports_discarded_packets(ctx->ir_sc,
+ ctx->sc->has_discarded_packets,
+ ctx->sc->discarded_packets_have_default_cs);
ctx->scope = CTF_SCOPE_PACKET_CONTEXT;
ir_fc = scope_ctf_field_class_to_ir(ctx);
if (ir_fc) {
BT_FALSE);
bt_stream_class_set_assigns_automatic_stream_id(ctx->ir_sc, BT_FALSE);
- if (ctx->sc->default_clock_class) {
- BT_ASSERT(ctx->sc->default_clock_class->ir_cc);
- ret = bt_stream_class_set_default_clock_class(ctx->ir_sc,
- ctx->sc->default_clock_class->ir_cc);
- BT_ASSERT(ret == 0);
- }
-
- bt_stream_class_set_packets_have_beginning_default_clock_snapshot(
- ctx->ir_sc, ctx->sc->packets_have_ts_begin);
- bt_stream_class_set_packets_have_end_default_clock_snapshot(
- ctx->ir_sc, ctx->sc->packets_have_ts_end);
- bt_stream_class_set_supports_discarded_events(ctx->ir_sc,
- ctx->sc->has_discarded_events,
- ctx->sc->discarded_events_have_default_cs);
- bt_stream_class_set_supports_discarded_packets(ctx->ir_sc,
- ctx->sc->has_discarded_packets,
- ctx->sc->discarded_packets_have_default_cs);
ctx->sc->is_translated = true;
ctx->sc->ir_sc = ctx->ir_sc;
goto end;
}
- if (ctx->tc->is_uuid_set) {
- bt_trace_class_set_uuid(ctx->ir_tc, ctx->tc->uuid);
- }
-
- for (i = 0; i < ctx->tc->env_entries->len; i++) {
- struct ctf_trace_class_env_entry *env_entry =
- ctf_trace_class_borrow_env_entry_by_index(ctx->tc, i);
-
- switch (env_entry->type) {
- case CTF_TRACE_CLASS_ENV_ENTRY_TYPE_INT:
- ret = bt_trace_class_set_environment_entry_integer(
- ctx->ir_tc, env_entry->name->str,
- env_entry->value.i);
- break;
- case CTF_TRACE_CLASS_ENV_ENTRY_TYPE_STR:
- ret = bt_trace_class_set_environment_entry_string(
- ctx->ir_tc, env_entry->name->str,
- env_entry->value.str->str);
- break;
- default:
- abort();
- }
-
- if (ret) {
- goto end;
- }
- }
-
for (i = 0; i < ctx->tc->clock_classes->len; i++) {
struct ctf_clock_class *cc = ctx->tc->clock_classes->pdata[i];
- cc->ir_cc = bt_clock_class_create(
- bt_self_component_source_as_self_component(
- ctx->self_comp));
+ cc->ir_cc = bt_clock_class_create(ctx->self_comp);
ctf_clock_class_to_ir(cc->ir_cc, cc);
}
}
BT_HIDDEN
-int ctf_trace_class_translate(bt_self_component_source *self_comp,
+int ctf_trace_class_translate(bt_self_component *self_comp,
bt_trace_class *ir_tc, struct ctf_trace_class *tc)
{
int ret = 0;