bt2: _IntegerRangeSet.add(): make it possible to add a single value
[babeltrace.git] / src / bindings / python / bt2 / bt2 / field.py
index bb35300c72ac5222c4e00cb39330e3c7610298cb..eb11107c093cc8fcd83953e104de8ed29f65f9fd 100644 (file)
 # THE SOFTWARE.
 
 from bt2 import native_bt, object, utils
-import bt2.field_class
+from bt2 import field_class as bt2_field_class
 import collections.abc
 import functools
 import numbers
 import math
-import bt2
 
 
 def _create_field_from_ptr(ptr, owner_ptr, owner_get_ref, owner_put_ref):
     field_class_ptr = native_bt.field_borrow_class_const(ptr)
-    utils._handle_ptr(field_class_ptr, "cannot get field object's class")
     typeid = native_bt.field_class_get_type(field_class_ptr)
     field = _TYPE_ID_TO_OBJ[typeid]._create_from_ptr_and_get_ref(
         ptr, owner_ptr, owner_get_ref, owner_put_ref
@@ -60,7 +58,7 @@ class _Field(object._UniqueObject):
     def field_class(self):
         field_class_ptr = native_bt.field_borrow_class_const(self._ptr)
         assert field_class_ptr is not None
-        return bt2.field_class._create_field_class_from_ptr_and_get_ref(field_class_ptr)
+        return bt2_field_class._create_field_class_from_ptr_and_get_ref(field_class_ptr)
 
     def _repr(self):
         raise NotImplementedError
@@ -228,11 +226,11 @@ class _UnsignedIntegerField(_IntegerField, _Field):
 
     @property
     def _value(self):
-        return native_bt.field_unsigned_integer_get_value(self._ptr)
+        return native_bt.field_integer_unsigned_get_value(self._ptr)
 
     def _set_value(self, value):
         value = self._value_to_int(value)
-        native_bt.field_unsigned_integer_set_value(self._ptr, value)
+        native_bt.field_integer_unsigned_set_value(self._ptr, value)
 
     value = property(fset=_set_value)
 
@@ -251,11 +249,11 @@ class _SignedIntegerField(_IntegerField, _Field):
 
     @property
     def _value(self):
-        return native_bt.field_signed_integer_get_value(self._ptr)
+        return native_bt.field_integer_signed_get_value(self._ptr)
 
     def _set_value(self, value):
         value = self._value_to_int(value)
-        native_bt.field_signed_integer_set_value(self._ptr, value)
+        native_bt.field_integer_signed_set_value(self._ptr, value)
 
     value = property(fset=_set_value)
 
@@ -296,14 +294,14 @@ class _EnumerationField(_IntegerField):
 class _UnsignedEnumerationField(_EnumerationField, _UnsignedIntegerField):
     _NAME = 'Unsigned Enumeration'
     _get_mapping_labels = staticmethod(
-        native_bt.field_unsigned_enumeration_get_mapping_labels
+        native_bt.field_enumeration_unsigned_get_mapping_labels
     )
 
 
 class _SignedEnumerationField(_EnumerationField, _SignedIntegerField):
     _NAME = 'Signed Enumeration'
     _get_mapping_labels = staticmethod(
-        native_bt.field_signed_enumeration_get_mapping_labels
+        native_bt.field_enumeration_signed_get_mapping_labels
     )
 
 
@@ -465,8 +463,10 @@ class _VariantField(_ContainerField, _Field):
 
     @property
     def selected_option(self):
+        # TODO: Is there a way to check if the variant field has a selected_option,
+        # so we can raise an exception instead of hitting a pre-condition check?
+        # If there is something, that check should be added to selected_option_index too.
         field_ptr = native_bt.field_variant_borrow_selected_option_field(self._ptr)
-        utils._handle_ptr(field_ptr, "cannot get variant field's selected option")
 
         return _create_field_from_ptr(
             field_ptr, self._owner_ptr, self._owner_get_ref, self._owner_put_ref
@@ -574,7 +574,7 @@ class _DynamicArrayField(_ArrayField, _Field):
 
     def _set_length(self, length):
         utils._check_uint64(length)
-        status = native_bt.field_dynamic_array_set_length(self._ptr, length)
+        status = native_bt.field_array_dynamic_set_length(self._ptr, length)
         utils._handle_func_status(status, "cannot set dynamic array length")
 
     length = property(fget=_ArrayField._get_length, fset=_set_length)
This page took 0.029674 seconds and 4 git commands to generate.