bt2: Adapt test_graph.py and make it pass
[babeltrace.git] / bindings / python / bt2 / bt2 / trace_class.py
index 631334a7fa9b356e09347ca635f8f75a2a90e374..f8ef2646566a88e35c11c1d75c0e89022832a60d 100644 (file)
@@ -224,6 +224,40 @@ class TraceClass(object._SharedObject, collections.abc.Mapping):
             raise bt2.CreationError(
                 'cannot create {} field class'.format(type_name))
 
+    def _create_integer_field_class(self, create_func, py_cls, type_name, range, display_base):
+        field_class_ptr = create_func(self._ptr)
+        self._check_create_status(field_class_ptr, type_name)
+
+        field_class = py_cls._create_from_ptr(field_class_ptr)
+
+        if range is not None:
+            field_class._range = range
+
+        if display_base is not None:
+            field_class._display_base = display_base
+
+        return field_class
+
+    def create_signed_integer_field_class(self, range=None, display_base=None):
+        return self._create_integer_field_class(native_bt.field_class_signed_integer_create,
+                                                bt2.field_class.SignedIntegerFieldClass,
+                                                'signed integer', range, display_base)
+
+    def create_unsigned_integer_field_class(self, range=None, display_base=None):
+        return self._create_integer_field_class(native_bt.field_class_unsigned_integer_create,
+                                                bt2.field_class.UnsignedIntegerFieldClass,
+                                                'unsigned integer', range, display_base)
+
+    def create_real_field_class(self, is_single_precision=False):
+        field_class_ptr = native_bt.field_class_real_create(self._ptr)
+        self._check_create_status(field_class_ptr, 'real')
+
+        field_class = bt2.field_class.RealFieldClass._create_from_ptr(field_class_ptr)
+
+        field_class._single_precision = is_single_precision
+
+        return field_class
+
     def create_structure_field_class(self):
         field_class_ptr = native_bt.field_class_structure_create(self._ptr)
         self._check_create_status(field_class_ptr, 'structure')
This page took 0.030188 seconds and 4 git commands to generate.