src.ctf.fs: make ctf_fs_component::trace a unique_ptr
[babeltrace.git] / src / plugins / ctf / fs-src / fs.hpp
index 4446524c64728af2f5707c8209a3cfb21d9be498..b0052bb7edfdfc3149350440204ddf36f016a67b 100644 (file)
@@ -58,33 +58,15 @@ struct ctf_fs_metadata
     int bo = 0;
 };
 
-struct ctf_fs_component_deleter
-{
-    void operator()(struct ctf_fs_component *);
-};
-
-struct ctf_fs_component
+struct ctf_fs_trace_deleter
 {
-    using UP = std::unique_ptr<ctf_fs_component, ctf_fs_component_deleter>;
-
-    explicit ctf_fs_component(const bt2c::Logger& parentLogger) :
-        logger {parentLogger, "PLUGIN/SRC.CTF.FS/COMP"}
-    {
-    }
-
-    bt2c::Logger logger;
-
-    /* Array of struct ctf_fs_port_data *, owned by this */
-    GPtrArray *port_data = nullptr;
-
-    /* Owned by this */
-    struct ctf_fs_trace *trace = nullptr;
-
-    ctf::src::ClkClsCfg clkClsCfg;
+    void operator()(ctf_fs_trace *) noexcept;
 };
 
 struct ctf_fs_trace
 {
+    using UP = std::unique_ptr<ctf_fs_trace, ctf_fs_trace_deleter>;
+
     explicit ctf_fs_trace(const bt2c::Logger& parentLogger) :
         logger {parentLogger, "PLUGIN/SRC.CTF.FS/TRACE"}
     {
@@ -108,6 +90,39 @@ struct ctf_fs_trace
     uint64_t next_stream_id = 0;
 };
 
+struct ctf_fs_port_data
+{
+    /* Weak, belongs to ctf_fs_trace */
+    struct ctf_fs_ds_file_group *ds_file_group = nullptr;
+
+    /* Weak */
+    struct ctf_fs_component *ctf_fs = nullptr;
+};
+
+struct ctf_fs_component_deleter
+{
+    void operator()(ctf_fs_component *);
+};
+
+struct ctf_fs_component
+{
+    using UP = std::unique_ptr<ctf_fs_component, ctf_fs_component_deleter>;
+
+    explicit ctf_fs_component(const bt2c::Logger& parentLogger) noexcept :
+        logger {parentLogger, "PLUGIN/SRC.CTF.FS/COMP"}
+    {
+    }
+
+    bt2c::Logger logger;
+
+    /* Array of struct ctf_fs_port_data *, owned by this */
+    GPtrArray *port_data = nullptr;
+
+    ctf_fs_trace::UP trace;
+
+    ctf::src::ClkClsCfg clkClsCfg;
+};
+
 struct ctf_fs_ds_index_entry
 {
     explicit ctf_fs_ds_index_entry(const bt2c::DataLen offsetParam,
@@ -181,15 +196,6 @@ struct ctf_fs_ds_file_group
     struct ctf_fs_ds_index *index = nullptr;
 };
 
-struct ctf_fs_port_data
-{
-    /* Weak, belongs to ctf_fs_trace */
-    struct ctf_fs_ds_file_group *ds_file_group = nullptr;
-
-    /* Weak */
-    struct ctf_fs_component *ctf_fs = nullptr;
-};
-
 struct ctf_fs_msg_iter_data
 {
     explicit ctf_fs_msg_iter_data(bt_self_message_iterator *selfMsgIter) :
This page took 0.02327 seconds and 4 git commands to generate.