src.ctf.lttng-live: introduce lttng_live_component::UP and use it
[babeltrace.git] / src / plugins / ctf / lttng-live / lttng-live.hpp
index 7d93326f6e31c9b35e417615d4a381325ccbda30..8dbd804fcfe120d0645f1994e18ff28fea710753 100644 (file)
@@ -148,8 +148,9 @@ struct lttng_live_metadata
     bt2c::Logger logger;
 
     uint64_t stream_id = 0;
+
     /* Weak reference. */
-    struct ctf_metadata_decoder *decoder = nullptr;
+    ctf_metadata_decoder_up decoder;
 };
 
 enum lttng_live_metadata_stream_state
@@ -189,11 +190,9 @@ struct lttng_live_trace
     /* ctf trace ID within the session. */
     uint64_t id = 0;
 
-    /* Owned by this. */
-    bt_trace *trace = nullptr;
+    bt2::Trace::Shared trace;
 
-    /* Weak reference. */
-    bt_trace_class *trace_class = nullptr;
+    bt2::TraceClass::Shared trace_class;
 
     struct lttng_live_metadata *metadata = nullptr;
 
@@ -250,6 +249,8 @@ enum session_not_found_action
  */
 struct lttng_live_component
 {
+    using UP = std::unique_ptr<lttng_live_component>;
+
     explicit lttng_live_component(bt2c::Logger loggerParam) noexcept :
         logger {std::move(loggerParam)}
     {
@@ -262,7 +263,7 @@ struct lttng_live_component
 
     struct
     {
-        GString *url = nullptr;
+        std::string url;
         enum session_not_found_action sess_not_found_act = SESSION_NOT_FOUND_ACTION_CONTINUE;
     } params;
 
@@ -406,7 +407,7 @@ int lttng_live_add_session(struct lttng_live_msg_iter *lttng_live_msg_iter, uint
  * written to the file.
  */
 enum lttng_live_get_one_metadata_status
-lttng_live_get_one_metadata_packet(struct lttng_live_trace *trace, FILE *fp, size_t *reply_len);
+lttng_live_get_one_metadata_packet(struct lttng_live_trace *trace, std::vector<char>& buf);
 
 enum lttng_live_iterator_status
 lttng_live_get_next_index(struct lttng_live_msg_iter *lttng_live_msg_iter,
This page took 0.062791 seconds and 4 git commands to generate.