#include "compat/endian.h" /* IWYU pragma: keep */
#include "compat/mman.h" /* IWYU: pragma keep */
+#include "cpp-common/bt2s/make-unique.hpp"
#include "cpp-common/vendor/fmt/format.h"
#include "../common/src/msg-iter/msg-iter.hpp"
delete ds_file_info;
}
-struct ctf_fs_ds_file_info *ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns)
+ctf_fs_ds_file_info::UP ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns)
{
- ctf_fs_ds_file_info *ds_file_info = new ctf_fs_ds_file_info;
+ ctf_fs_ds_file_info::UP ds_file_info = bt2s::make_unique<ctf_fs_ds_file_info>();
ds_file_info->path = path;
ds_file_info->begin_ns = begin_ns;
struct ctf_fs_ds_file_info
{
+ using UP = std::unique_ptr<ctf_fs_ds_file_info>;
+
std::string path;
/* Guaranteed to be set, as opposed to the index. */
void ctf_fs_ds_file_info_destroy(struct ctf_fs_ds_file_info *ds_file_info);
-struct ctf_fs_ds_file_info *ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns);
+ctf_fs_ds_file_info::UP ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns);
ctf_fs_ds_file_group::UP ctf_fs_ds_file_group_create(struct ctf_fs_trace *ctf_fs_trace,
struct ctf_stream_class *sc,
}
}
- ds_file_info = ctf_fs_ds_file_info_create(path, begin_ns);
+ ds_file_info = ctf_fs_ds_file_info_create(path, begin_ns).release();
if (!ds_file_info) {
goto error;
}