# 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
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
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
@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)
@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)
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
)
@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
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)