src.ctf.lttng-live: add bt_common_lttng_live_url_parts_deleter
[babeltrace.git] / src / plugins / ctf / lttng-live / lttng-live.hpp
index 7018888a7a5039895dc1469343a3a5a8b2e330ab..9dbc432abf3f527abc3ef64017b474aab2ddbc3d 100644 (file)
 #include "../common/src/msg-iter/msg-iter.hpp"
 #include "viewer-connection.hpp"
 
+/*
+ * bt_common_lttng_live_url_parts is defined in common code, and is also used
+ * by C code, so it can't be C++-ified yet.  Use this separate deleter object
+ * in the mean time.
+ */
+struct bt_common_lttng_live_url_parts_deleter
+{
+    explicit bt_common_lttng_live_url_parts_deleter(bt_common_lttng_live_url_parts& obj) noexcept :
+        _mObj {&obj}
+    {
+    }
+
+    bt_common_lttng_live_url_parts_deleter(const bt_common_lttng_live_url_parts_deleter&) = delete;
+    bt_common_lttng_live_url_parts&
+    operator=(const bt_common_lttng_live_url_parts_deleter&) = delete;
+
+    ~bt_common_lttng_live_url_parts_deleter()
+    {
+        bt_common_destroy_lttng_live_url_parts(_mObj);
+    }
+
+private:
+    bt_common_lttng_live_url_parts *_mObj;
+};
+
 enum lttng_live_stream_state
 {
     /* This stream won't have data until some known time in the future. */
@@ -279,6 +304,8 @@ struct lttng_live_component
 
 struct lttng_live_msg_iter
 {
+    using UP = std::unique_ptr<lttng_live_msg_iter>;
+
     explicit lttng_live_msg_iter(const bt2c::Logger& parentLogger) :
         logger {parentLogger, "PLUGIN/SRC.CTF.LTTNG-LIVE/MSG-ITER"}
     {
This page took 0.024421 seconds and 4 git commands to generate.