ctf: use unique_ptr to manage ctf_metadata_decoder lifetime
[babeltrace.git] / src / plugins / ctf / common / src / metadata / tsdl / decoder.cpp
index 739c648b278a10937f65c26741c2caebc6adf11a..b6fe517487f3a297ff87987a4a2052d265735da0 100644 (file)
@@ -86,7 +86,7 @@ end:
     return ret;
 }
 
-struct ctf_metadata_decoder *
+ctf_metadata_decoder_up
 ctf_metadata_decoder_create(const struct ctf_metadata_decoder_config *config)
 {
     BT_ASSERT(config);
@@ -139,7 +139,7 @@ error:
     mdec = NULL;
 
 end:
-    return mdec;
+    return ctf_metadata_decoder_up {mdec};
 }
 
 void ctf_metadata_decoder_destroy(struct ctf_metadata_decoder *mdec)
@@ -161,6 +161,11 @@ void ctf_metadata_decoder_destroy(struct ctf_metadata_decoder *mdec)
     delete mdec;
 }
 
+void ctf_metadata_decoder_deleter::operator()(ctf_metadata_decoder *decoder)
+{
+    ctf_metadata_decoder_destroy(decoder);
+}
+
 enum ctf_metadata_decoder_status
 ctf_metadata_decoder_append_content(struct ctf_metadata_decoder *mdec, FILE *fp)
 {
This page took 0.024142 seconds and 4 git commands to generate.