ctf: make parseMetadataStream() output the metadata version
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 27 Sep 2024 20:10:34 +0000 (16:10 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 9 Oct 2024 02:56:57 +0000 (22:56 -0400)
Add a `metadataVersion` field to `ParseRet`, allowing users of this
class to know the metadata version, after successfully parsing a
metadata file.

Change-Id: I5fdeab715d8146744b743c4be1dc9d44ac1a70e6
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/13295
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
src/plugins/ctf/common/src/metadata/json/ctf-2-metadata-stream-parser.cpp
src/plugins/ctf/common/src/metadata/metadata-stream-parser-utils.hpp
src/plugins/ctf/common/src/metadata/metadata-stream-parser.hpp
src/plugins/ctf/common/src/metadata/tsdl/ctf-1-metadata-stream-parser.cpp

index c1e6d8dffd41d42e909b6aeb9c0d868efb0a647b..1a6a0a0ce0b6f2e65b765277e60387246f9c7f33 100644 (file)
@@ -66,7 +66,7 @@ Ctf2MetadataStreamParser::parse(const bt2::OptionalBorrowedObject<bt2::SelfCompo
             parser._mLogger, bt2::Error, "Missing data stream class fragment in metadata stream.");
     }
 
-    return {parser.releaseTraceCls(), parser.metadataStreamUuid()};
+    return {parser.releaseTraceCls(), parser.metadataStreamUuid(), MetadataStreamMajorVersion::V2};
 }
 
 void Ctf2MetadataStreamParser::_parseSection(const bt2c::ConstBytes buffer)
index 41816338a14cadf7dd29ff27bffd968071ca661a..0981c2097572deff73ca96ac1490e4b90c95f843 100644 (file)
 namespace ctf {
 namespace src {
 
-enum class MetadataStreamMajorVersion
-{
-    V1 = 1,
-    V2,
-};
-
 /*
  * Returns the major CTF version (1 or 2) of the metadata stream
  * in `buffer`.
index 7ea2f73c7a2054a42164c6b881dc534cfa6a46b1..97834d04124ab17119ecda96af1aceba803f121d 100644 (file)
 namespace ctf {
 namespace src {
 
+enum class MetadataStreamMajorVersion
+{
+    V1 = 1,
+    V2,
+};
+
 /*
  * Abstract base CTF metadata stream parser class.
  */
@@ -36,6 +42,7 @@ public:
     {
         std::unique_ptr<TraceCls> traceCls;
         bt2s::optional<bt2c::Uuid> uuid;
+        MetadataStreamMajorVersion metadataVersion;
     };
 
 protected:
index 7500fad1bb2de896a49089abeb23e0c213319786..121d6fb009bcda28405bbbad67b8058580b54acd 100644 (file)
@@ -707,7 +707,7 @@ Ctf1MetadataStreamParser::parse(const bt2::OptionalBorrowedObject<bt2::SelfCompo
     Ctf1MetadataStreamParser parser {selfComp, clkClsCfg, parentLogger};
 
     parser.parseSection(buffer);
-    return {parser.releaseTraceCls(), parser.metadataStreamUuid()};
+    return {parser.releaseTraceCls(), parser.metadataStreamUuid(), MetadataStreamMajorVersion::V1};
 }
 
 } /* namespace src */
This page took 0.026367 seconds and 4 git commands to generate.