From: Simon Marchi Date: Wed, 6 Dec 2023 21:34:54 +0000 (+0000) Subject: src.ctf.fs: make create_streams_for_trace use bt2::StreamClass to instantiate streams X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=d961ecead7e6355b1208008b8cd2466441d45f5a src.ctf.fs: make create_streams_for_trace use bt2::StreamClass to instantiate streams Wrap the stream class (ds_file_group->sc->ir_sc) in a bt2::StreamClass, then use that to instantiate streams. Change-Id: I9e9917dd96b0d1115b443463a0a2cd8f2da42323 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/8437 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12362 Tested-by: jenkins --- diff --git a/src/plugins/ctf/fs-src/fs.cpp b/src/plugins/ctf/fs-src/fs.cpp index 09f663e3..f9b2523c 100644 --- a/src/plugins/ctf/fs-src/fs.cpp +++ b/src/plugins/ctf/fs-src/fs.cpp @@ -1462,31 +1462,18 @@ static int create_streams_for_trace(struct ctf_fs_trace *ctf_fs_trace) BT_ASSERT(ds_file_group->sc->ir_sc); BT_ASSERT(ctf_fs_trace->trace); - bt_stream *stream; + const bt2::StreamClass sc {ds_file_group->sc->ir_sc}; if (ds_file_group->stream_id == UINT64_C(-1)) { /* No stream ID: use 0 */ - stream = - bt_stream_create_with_id(ds_file_group->sc->ir_sc, ctf_fs_trace->trace->libObjPtr(), - ctf_fs_trace->next_stream_id); + ds_file_group->stream = + sc.instantiate(*ctf_fs_trace->trace, ctf_fs_trace->next_stream_id); ctf_fs_trace->next_stream_id++; } else { /* Specific stream ID */ - stream = - bt_stream_create_with_id(ds_file_group->sc->ir_sc, ctf_fs_trace->trace->libObjPtr(), - (uint64_t) ds_file_group->stream_id); + ds_file_group->stream = sc.instantiate(*ctf_fs_trace->trace, ds_file_group->stream_id); } - if (!stream) { - BT_CPPLOGE_APPEND_CAUSE_SPEC(ctf_fs_trace->logger, - "Cannot create stream for DS file group: " - "addr={}, stream-name=\"{}\"", - fmt::ptr(ds_file_group), name); - return -1; - } - - ds_file_group->stream = bt2::Stream::Shared::createWithoutRef(stream); - int ret = bt_stream_set_name(ds_file_group->stream->libObjPtr(), name.c_str()); if (ret) { BT_CPPLOGE_APPEND_CAUSE_SPEC(ctf_fs_trace->logger,