bt2: add `_Trace.cls` property
[babeltrace.git] / bindings / python / bt2 / bt2 / trace.py
index ba7b89d8c57717696601705c7a350c25f8a243c1..5830ec3f8bc0b694dc3a1d081aae9fd5a9e1bad6 100644 (file)
@@ -25,16 +25,17 @@ import bt2.field_class
 import collections.abc
 import bt2.value
 import bt2.stream
+import bt2.trace_class
 import bt2
 import functools
 
 
 def _trace_destruction_listener_from_native(user_listener, trace_ptr):
-    trace = bt2.trace.Trace._create_from_ptr_and_get_ref(trace_ptr)
+    trace = bt2.trace._Trace._create_from_ptr_and_get_ref(trace_ptr)
     user_listener(trace)
 
 
-class Trace(object._SharedObject, collections.abc.Mapping):
+class _Trace(object._SharedObject, collections.abc.Mapping):
     _get_ref = staticmethod(native_bt.trace_get_ref)
     _put_ref = staticmethod(native_bt.trace_put_ref)
 
@@ -63,6 +64,12 @@ class Trace(object._SharedObject, collections.abc.Mapping):
 
             yield id
 
+    @property
+    def cls(self):
+        trace_class_ptr = native_bt.trace_borrow_class(self._ptr)
+        assert trace_class_ptr is not None
+        return bt2.trace_class._TraceClass._create_from_ptr_and_get_ref(trace_class_ptr)
+
     @property
     def name(self):
         return native_bt.trace_get_name(self._ptr)
@@ -75,7 +82,7 @@ class Trace(object._SharedObject, collections.abc.Mapping):
     _name = property(fset=_name)
 
     def create_stream(self, stream_class, id=None, name=None):
-        utils._check_type(stream_class, bt2.stream_class.StreamClass)
+        utils._check_type(stream_class, bt2.stream_class._StreamClass)
 
         if stream_class.assigns_automatic_stream_id:
             if id is not None:
This page took 0.023965 seconds and 4 git commands to generate.