}
if (ctf_fs_trace->metadata->trace_class) {
- bt_trace *trace = bt_trace_create(ctf_fs_trace->metadata->trace_class);
+ bt_trace *trace = bt_trace_create(ctf_fs_trace->metadata->trace_class->libObjPtr());
if (!trace) {
goto error;
}
/* Owned by this */
ctf_metadata_decoder_up decoder;
- /* Owned by this */
- bt_trace_class *trace_class = nullptr;
+ bt2::TraceClass::Shared trace_class;
/* Weak (owned by `decoder` above) */
struct ctf_trace_class *tc = nullptr;
const ctf::src::ClkClsCfg& clkClsCfg)
{
int ret = 0;
- bt2::TraceClass::Shared traceCls;
ctf_metadata_decoder_config decoder_config {ctf_fs_trace->logger};
decoder_config.self_comp = self_comp;
goto end;
}
- traceCls = ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get());
- if (traceCls) {
- ctf_fs_trace->metadata->trace_class = traceCls.release().libObjPtr();
- }
+ ctf_fs_trace->metadata->trace_class =
+ ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get());
BT_ASSERT(!self_comp || ctf_fs_trace->metadata->trace_class);
ctf_fs_trace->metadata->tc =
void ctf_fs_metadata_fini(struct ctf_fs_metadata *metadata)
{
- if (metadata->trace_class) {
- BT_TRACE_CLASS_PUT_REF_AND_RESET(metadata->trace_class);
- }
-
metadata->decoder.reset();
}