cpp-common/bt2: add `SelfComponent::createTraceClass`
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 12 Feb 2024 20:58:54 +0000 (15:58 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 19 Feb 2024 18:10:15 +0000 (13:10 -0500)
Add the C++ binding to create a trace class from a self component.

Change-Id: Iaa5ad98bb0dfce7ac8ab7d3c51446cf4ad387b29
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/11791
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Tested-by: jenkins <jenkins@lttng.org>
src/cpp-common/bt2/self-component-port.hpp

index e41dd09c8cde3d3259236861244c9f627f99f3c3..deefcad7625a807d99794f27b79efed54d494016 100644 (file)
@@ -104,6 +104,17 @@ public:
     {
         bt_self_component_set_data(this->libObjPtr(), static_cast<void *>(&obj));
     }
+
+    bt2::TraceClass::Shared createTraceClass() const
+    {
+        const auto libObjPtr = bt_trace_class_create(this->libObjPtr());
+
+        if (!libObjPtr) {
+            throw MemoryError {};
+        }
+
+        return bt2::TraceClass::Shared::createWithoutRef(libObjPtr);
+    }
 };
 
 template <typename LibObjT>
This page took 0.025029 seconds and 4 git commands to generate.