ctf: convert ctx_destroy to ~ctf_visitor_generate_ir
[babeltrace.git] / src / plugins / ctf / common / src / metadata / tsdl / ast.hpp
index 962dad553b4f67c1a0ef0bc08ca4e3bb0ceb8ccb..597cb3a4e470a32cc16e9811ba72d5dc26e774a2 100644 (file)
@@ -7,6 +7,8 @@
 #ifndef _CTF_AST_H
 #define _CTF_AST_H
 
+#include <memory>
+
 #include <glib.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -15,6 +17,7 @@
 
 #include "common/assert.h"
 #include "common/list.h"
+#include "cpp-common/bt2/trace-ir.hpp"
 #include "cpp-common/vendor/fmt/format.h" /* IWYU pragma: keep */
 
 #include "ctf-meta.hpp"
@@ -477,6 +480,8 @@ const char *node_type(struct ctf_node *node);
 
 struct ctf_visitor_generate_ir
 {
+    using UP = std::unique_ptr<ctf_visitor_generate_ir>;
+
     explicit ctf_visitor_generate_ir(ctf_metadata_decoder_config decoderConfig,
                                      bt2c::Logger loggerParam) :
         decoder_config {std::move(decoderConfig)},
@@ -484,8 +489,10 @@ struct ctf_visitor_generate_ir
     {
     }
 
+    ~ctf_visitor_generate_ir();
+
     /* Trace IR trace class being filled (owned by this) */
-    bt_trace_class *trace_class = nullptr;
+    bt2::TraceClass::Shared trace_class;
 
     /* CTF meta trace being filled (owned by this) */
     struct ctf_trace_class *ctf_tc = nullptr;
@@ -505,12 +512,11 @@ struct ctf_visitor_generate_ir
     bt2c::Logger logger;
 };
 
-struct ctf_visitor_generate_ir *
+ctf_visitor_generate_ir::UP
 ctf_visitor_generate_ir_create(const struct ctf_metadata_decoder_config *config);
 
-void ctf_visitor_generate_ir_destroy(struct ctf_visitor_generate_ir *visitor);
-
-bt_trace_class *ctf_visitor_generate_ir_get_ir_trace_class(struct ctf_visitor_generate_ir *visitor);
+bt2::TraceClass::Shared
+ctf_visitor_generate_ir_get_ir_trace_class(struct ctf_visitor_generate_ir *visitor);
 
 struct ctf_trace_class *
 ctf_visitor_generate_ir_borrow_ctf_trace_class(struct ctf_visitor_generate_ir *visitor);
This page took 0.025301 seconds and 4 git commands to generate.