src.ctf.fs: make ctf_msg_iter_create return a unique_ptr
[babeltrace.git] / src / plugins / ctf / common / src / msg-iter / msg-iter.hpp
index 8ad582870013f4a0f191b1cafe6e5bdd8a349b70..f9bb7f2aa01761a932d2c8a08f8f1b49b5131b0d 100644 (file)
@@ -256,6 +256,16 @@ struct ctf_msg_iter_medium_ops
     bt_stream *(*borrow_stream)(bt_stream_class *stream_class, int64_t stream_id, void *data);
 };
 
+/** CTF message iterator. */
+struct ctf_msg_iter;
+
+struct ctf_msg_iter_deleter
+{
+    void operator()(ctf_msg_iter *iter) noexcept;
+};
+
+using ctf_msg_iter_up = std::unique_ptr<ctf_msg_iter, ctf_msg_iter_deleter>;
+
 /**
  * Creates a CTF message iterator.
  *
@@ -272,10 +282,10 @@ struct ctf_msg_iter_medium_ops
  * @returns                    New CTF message iterator on
  *                             success, or \c NULL on error
  */
-struct ctf_msg_iter *ctf_msg_iter_create(struct ctf_trace_class *tc, size_t max_request_sz,
-                                         struct ctf_msg_iter_medium_ops medops, void *medops_data,
-                                         bt_self_message_iterator *self_msg_iter,
-                                         const bt2c::Logger& logger);
+ctf_msg_iter_up ctf_msg_iter_create(struct ctf_trace_class *tc, size_t max_request_sz,
+                                    struct ctf_msg_iter_medium_ops medops, void *medops_data,
+                                    bt_self_message_iterator *self_msg_iter,
+                                    const bt2c::Logger& logger);
 
 /**
  * Destroys a CTF message iterator, freeing all internal resources.
This page took 0.025517 seconds and 4 git commands to generate.